<Anterior | Conteúdo | Próxima>
Usando parâmetros posicionais com funções Shell
Assim como os parâmetros posicionais são usados para passar argumentos para scripts de shell, eles também podem ser usados para passar argumentos para funções de shell. Para demonstrar, vamos converter o informações do arquivo script em uma função shell:
informações do arquivo () {
# file_info: função para exibir informações do arquivo if [[-e $ 1]]; então
echo -e "\ nTipo de arquivo:" arquivo $ 1
echo -e "\ nStatus do arquivo:" stat $ 1
outro
echo "$ FUNCNAME: uso: $ FUNCNAME arquivo"> & 2 return 1
informações do arquivo () {
# file_info: função para exibir informações do arquivo if [[-e $ 1]]; então
echo -e "\ nTipo de arquivo:" arquivo $ 1
echo -e "\ nStatus do arquivo:" stat $ 1
outro
echo "$ FUNCNAME: uso: $ FUNCNAME arquivo"> & 2 return 1
fi
}
fi
}
Agora, se um script que incorpora o informações do arquivo a função shell chama a função com um argumento de nome de arquivo, o argumento será passado para a função.
Com esse recurso, podemos escrever muitas funções shell úteis que podem ser usadas não apenas em scripts, mas também em nosso .bashrc arquivos.
Observe que o NOME DO PROG. variável foi alterada para a variável shell FUNCNAME. O shell atualiza automaticamente esta variável para manter o controle da função shell executada atualmente. Observe que $0 sempre contém o nome do caminho completo do primeiro item na linha de comando (ou seja, o nome do programa) e não contém o nome da função do shell como poderíamos esperar.