我在Linux上使用bash shell,并且要在shell脚本中使用10个以上的参数
我在Linux上使用bash shell,并且要在shell脚本中使用10个以上的参数
Answers:
使用花括号将其设置为关闭:
echo "${10}"
您还可以像这样迭代位置参数:
for arg
要么
for arg in "$@"
要么
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
仅当使用不符合标准的非常旧的实现时,才需要担心工作。可能只具有历史意义...但是我还没有使用过它!我想是因为最佳实践表明,除非重复使用10个参数,否则实在太多了,在这种情况下,您将遍历它们"$@"
而不是枚举它们。
您最多可以使用0到255个256个参数,具体如下:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
或--foo=bar
)代替。请参阅man getopt
,man getopts
和man bash
有关执行此操作的一些选项。