Como criar aliases e funções de shell no Linux?

vem depois do último comando também:



function_name () {command1; command2; }

Aliases Lika, funções de shell Bash podem ser definidas dentro do arquivo “.bashrc”, mas geralmente é mais simples colocá-los em seus próprios arquivos de definições. Vamos chamá-lo de “.bash_functions”, seguindo a convenção usada para o arquivo “.bash_aliases”.

Isso significa que precisamos dizer ao arquivo “.bashrc” para ler nossas definições. Podemos copiar e corrigir o trecho de código que lê no arquivo “.bash_aliases”. Inicie o gedit e carregue o arquivo “.bashrc” com este comando:



gedit .bashrc

arquivo gedit .bashrc



Você precisa adicionar a seção destacada mostrada abaixo.



Você pode destacar a seção de alias e pressionar Ctrl + C e, em seguida, mover para onde deseja a nova seção e pressionar Ctrl + V para colar uma cópia do texto. Então, tudo o que você precisa fazer é alterar os dois lugares onde diz “.bash_aliases” para “.bash_functions”.

Adicionando bash_functions ao arquivo .bashrc

Podemos salvar essas alterações e fechar o gedit.



Agora vamos criar e editar o arquivo “.bash_functions” e colocar uma definição de função nele.

touch .bash_functions gedit .bash_functions

Criação e edição .bash_functions

Isso abrirá o arquivo vazio “.bash_functions” no gedit.

Vamos adicionar uma função simples chamada. up terá um único parâmetro de linha de comando, que é um dígito. up irá então chamar cd .. esse número de vezes. Então, se você usou o comando

até 2

up chamaria cd .. duas vezes e subia dois níveis na árvore de diretórios.

Existem diferentes maneiras de definir uma função. Aqui está um:

function up () {

A palavra função é opcional. Se você é tradicionalista, use-o, se não se incomodar em digitar, deixe-o de fora.

Aqui está toda a nossa função no gedit:

Editando arquivo .bash_functions

function up () {

Isso marca o início de nossa definição de função e nomeia a função.

níveis = $ 1

Isso cria uma variável chamada níveis e define-o com o valor do primeiro parâmetro. Este parâmetro será um dígito fornecido pelo usuário ao chamar a função. O $ 1 significa “primeiro parâmetro da linha de comando”.

while ['$ levels' -gt '0']; Faz

Em seguida, entramos em um loop que será traduzido como 'quando o' valor ' do ' níveis ”É positivo ou maior que zero, faça o que está contido no corpo do loop.”

Dentro do corpo do loop, temos dois comandos. Eles são:

cd ..

Suba um nível na árvore de diretórios.

níveis = $ (($ níveis - 1))

Defina os níveis com um novo valor, que é um a menos que seu valor atual.

Em seguida, voltamos ao topo do loop, a comparação entre o valor dos níveis e zero é feita mais uma vez. Se “níveis” for maior que zero, o corpo do loop é executado novamente. Se não for positivo ou maior que zero, o loop termina e passamos para a instrução done, e a função termina.

Salve  essas mudanças e fechar gedit .

Vamos ler e executar os comandos em “.bashrc”, que devem ler e executar os comandos em nosso arquivo “.bash_functions”.

. .bashrc

Call ..bashrc

Podemos testar a função movendo para algum local na árvore de diretórios e usando up para voltar a um ponto “mais alto” na árvore de diretórios.

cd ./work/backup/ up 2

Função para cima

A função funciona. Mudamos dois níveis de diretório para cima na árvore.

Acompanhando o tipo

Conforme você constrói um conjunto de aliases e uma biblioteca de funções, pode se tornar difícil lembrar se um comando específico é um alias ou uma função. Você pode usar o “ tipo' comando para lembrá-lo. O legal aqui é que você também consegue ver a definição.

Vamos usar o tipo em nosso FTC alias e nossa função up.

digite ftc digite

Uso do tipo

Recebemos um lembrete muito útil de que tipo de comando cada um é, junto com suas definições.

Comece a Coletar

Aliases e funções podem acelerar o uso da linha de comando tremendamente. Eles podem encurtar as sequências de comandos e permitem que você prepare as opções que sempre usa com os comandos padrão. Cada vez que você vir uma única linha bacana ou uma função útil, pode adaptá-la e personalizá-la e, em seguida, adicioná-la aos seus arquivos “.bash_aliases” ou “.bash_functions”. O uso extensivo deles pode ajudar a tornar o seu tempo na concha mais agradável e menos complexo.

Lembre-se de ter cuidado ao redefinir os comandos existentes com um comportamento potencialmente destrutivo. Até mesmo fazer o oposto e atribuir um comando a uma variante mais segura (sempre pedindo confirmação antes de excluir recursivamente, por exemplo) pode voltar a incomodá-lo na primeira vez em que estiver em um sistema sem ele, uma vez que você passou a confiar nele . Para encontrar candidatos que podem ser bons para criar aliases, pode ser uma boa ideia pesquisar seu histórico para os comandos mais usados.

12 minutos lidos