Quando você chama um script de shell a partir da linha de comando, pode passar argumentos adicionais chamados Parâmetros posicionais. Por exemplo, ao inserir o seguinte na linha de comando para executar o script myscript.sh
:
./myscript.sh param1 param2
As variáveis teriam os seguintes valores:
"$0" = "./myscript.sh"
"$1" = "param1"
"$2" = "param2"
A variável $#
fornece o número de parâmetros, não incluindo o comando. Neste exemplo:
"$#" = 2
A variável $*
lista todos os parâmetros como uma única palavra (citações adicionadas para enfatizar limites de strings):
"$*" = "param1 param2"
A variável $@
lista cada parâmetro como uma string entre aspas (aspas adicionadas para enfatizar os limites das strings):
"$@" = "param1" "param2"
Note que você deve quase sempre citar variáveis no bash, então você deve usar "$@"
e não $@
. Consulte este guia de programação para obter mais informações.