Título do catálogo
função shell
As funções podem ser definidas pelo usuário e, em seguida, podem ser chamadas casualmente no script de shell
Formato de função
Método 1
function 函数名 {
命令序列
}
Método 2
函数名 () {
命令序列
}
Retorno do valor de retorno da função
- retorno significa sair da função e retornar um valor de saída, que pode ser exibido pela variável $? no script
- O valor de retorno é obtido assim que a função termina, pois a variável $? Só retorna o código de status de saída do último comando executado
- O código de status de saída deve ser 0-255, o valor excedente será dividido por 256 para o restante
Parâmetros de função
- No Shell, que pode ser passado ao chamar os parâmetros da função em
$1
,$2
,$3
,$4
...$#
,$*
indicando os parâmetros da função chamada de volta com
um exterior e função$1
,$2
... valor de entrada do teclado após a chamada para o arquivo de script - Como mostrado
- Exemplo: o valor acumulado de 1 a 10 é calculado passando parâmetros
- Multiplique o valor adicionado por 2
atribuindo uma função
O escopo das variáveis de função
- As funções em scripts Shell são válidas apenas no ambiente Shell atual
- Variáveis em scripts Shell são globalmente eficazes por padrão
- Use o comando local para limitar a variável à função
Recursão
- Função chama sua própria função
- Exemplo fatorial
#分析思路比如输入5时
fact 5
$1=5 temp=4 result=fact 4 echo 5 * (4 * (3 * (2 * (1))))
fact4
$1=4 temp=3 result=fact 3 echo 4 * (fact 3)
fact3
$1=3 temp=2 result=fact 2 echo 3 * (fact 2)
fact2
$1=2 temp=1 result=fact 1 echo 2 * (fact 1)
fact1
1
Diretório recursivo
Visualize recursivamente os diretórios e arquivos no diretório / var / log
Biblioteca de funções
-
A função da biblioteca de funções: escreva as funções que implementam o mesmo tipo de função no mesmo arquivo de script para classificação fácil e você pode chamá-lo diretamente ao usar a função
-
Defina uma biblioteca de função de algoritmo simples. As funções na biblioteca são as seguintes
-
Função de adição adicionar
-
Função de subtração
-
Função de multiplicação
-
Divide divisor de função
-
Chame a função na biblioteca de funções