从命令行读取参数非常简单, $1 $2 $3
但!如果我想做一个分配的循环$1 to $arg1
,$2 to $arg2
我不想通过输入来完成arg1=$1; arg2=$2
,我想学习如何处理单个$
.. 我如何做循环?
增加了$arg
,我只是添加$arg$nr
和计数了$nr
,但我怎么做的$1
?$$nr
不工作..
对于具有数组的 shell,传统的答案是使用数组:
arg=( "$@" )
然后你有$1
in ${arg[0]}
,$2
in${arg[1]}
等。
要循环这些,请使用
for a in "${arg[@]}"; do
# code that uses "$a" goes here
done
或者,如果您仍有位置参数列表中的数据并希望减少输入,
for a do
# code that uses "$a" goes here
done
请注意,引用对于保护原始参数中的数据不被拆分和/或用作通配模式很重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句