Eu estava pensando em falar com você sobre o stackoverflow, mas isso é uma 'programação' de baixo nível. Talvez seja melhor fazer isso aqui.
O primeiro parâmetro para um script de shell é referenciado por $1
, o segundo $2
, etc ... O décimo não pode ser chamado de $10
porque é $1
seguido por 0
, então você se refere a ele como ${10}
, mas se você precisar consultar o décimo parâmetro explicitamente (e não manipulá-lo em um loop), provavelmente está fazendo algo errado.
A contagem de parâmetros está na variável $#
Eu sugeriria:
if [ $# -ne 1 ]
then
echo "No parameter given" >&2
exit 1
elif [ "$1" == 'foo' ]
then
./script someparams ....
elif [ "$1" == 'foobar' ]
then
./script otherparams ....
else
echo "Bad parameter given" >&2
exit 1
fi