Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在研究一个 bash 函数,我怀疑它当前有语法错误,代码是这样的:
for (( i=1; i<$#; i++)) do GET_BLOCK "/$${!i}/" ... done
我要做的是为第一个参数运行 GET_BLOCK "/$1/",为第二个参数运行 "/$2/",依此类推,直到没有更多参数传递给脚本。我这样做对吗?(PS!我需要获取变量 $1, $2 exc 的值...)
迭代位置参数的更惯用的方法是使用$@:
$@
for p in "$@"; do GET_BLOCK "/$p/" done
你想要的是
for ((i=1; i<$#; i++)) do GET_BLOCK "/${!i}" done
但这既不标准,也比$@直接迭代更不清晰。