我目前正在编写一个从标准输入接收输入的脚本,然后将输入逐行加载到数组中以进行进一步处理。虽然如果我直接设置数组名称,数组可以正常工作,但当我尝试使用变量作为数组名称时,我无法让数组部分正常工作,代码本身如下:
input=$(</dev/stdin)
# back up the field separator for later
OLDIFS=$IFS
# set the field separator to newline
IFS=$'\n'
# populate an array from that variable, as delimited by the IFS
lines=($input)
这就是我尝试将数组名称设置为变量的方法
arrayname="something"
eval $arrayname=($input)
但不幸的是,当我运行它时,出现以下错误:
./f.sh: line 53: syntax error near unexpected token `('
./f.sh: line 53: ` eval $arrayname=($input)'
说了这么多,我想知道是否有人会知道我可以做些什么来使这项工作正常工作?谢谢!