Estou usando o bash shell no linux e quero usar mais de 10 parâmetros no shell script
Estou usando o bash shell no linux e quero usar mais de 10 parâmetros no shell script
Respostas:
Use chaves para destacá-los:
echo "${10}"
Você também pode iterar os parâmetros posicionais como este:
for arg
ou
for arg in "$@"
ou
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
é definido pela POSIX
${10}
trabalho só é necessária ao usar implementações muito antigas que não são compatíveis com o padrão. Provavelmente apenas de interesse histórico ... mas ainda não o usei! Suponho que seja porque a prática recomendada dita que 10 argumentos são demais, a menos que sejam repetidos, caso em que você irá iterá-los em "$@"
vez de enumerá-los.
Você pode ter até 256 parâmetros de 0 a 255 com:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
ou--foo=bar
). Vejaman getopt
,man getopts
eman bash
para algumas opções para fazer isso.