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.