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 1ou--foo=bar). Vejaman getopt,man getoptseman bashpara algumas opções para fazer isso.