【发布时间】:2011-06-22 05:09:06
【问题描述】:
我在 linux 上使用 bash shell,想在 shell 脚本中使用超过 10 个参数
【问题讨论】:
-
请注意,有 10 个参数会让人很困惑。也许使用选项(例如
-a 1或--foo=bar)会更好。请参阅man getopt、man getopts和man bash了解一些选项。
标签: linux bash shell parameters
我在 linux 上使用 bash shell,想在 shell 脚本中使用超过 10 个参数
【问题讨论】:
-a 1 或--foo=bar)会更好。请参阅 man getopt、man getopts 和 man bash 了解一些选项。
标签: linux bash shell parameters
使用花括号来设置它们:
echo "${10}"
您还可以像这样迭代位置参数:
for arg
或
for arg in "$@"
或
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
【讨论】:
${10} 定义为 by POSIX
${10} 的工作。可能只有历史意义……但我还没有使用过它!我想是因为最佳实践规定 10 个参数太多了,除非它们被重复,在这种情况下,您将使用 "$@" 迭代它们而不是枚举它们。
您最多可以有 256 个参数,从 0 到 255:
${255}
【讨论】:
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}