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