你如何读入单独变量中的参数

JoB*_*oBe 0 bash shell-script arguments

从命令行读取参数非常简单, $1 $2 $3

但!如果我想做一个分配的循环$1 to $arg1$2 to $arg2 我不想通过输入来完成arg1=$1; arg2=$2,我想学习如何处理单个$.. 我如何做循环?

增加了$arg,我只是添加$arg$nr 和计数了$nr,但我怎么做的$1$$nr不工作..

Kus*_*nda 5

对于具有数组的 shell,传统的答案是使用数组:

arg=( "$@" )
Run Code Online (Sandbox Code Playgroud)

然后你有$1in ${arg[0]}$2in${arg[1]}等。

要循环这些,请使用

for a in "${arg[@]}"; do
    # code that uses "$a" goes here
done
Run Code Online (Sandbox Code Playgroud)

或者,如果您仍有位置参数列表中的数据并希望减少输入,

for a do
    # code that uses "$a" goes here
done
Run Code Online (Sandbox Code Playgroud)

请注意,引用对于保护原始参数中的数据不被拆分和/或用作通配模式很重要。