我正在努力执行一组存储为数组中字符串的命令行。 我的代码看起来是这样的:执行描述shell命令的字符串数组
arr=("sudo apt-get update" "sudo apt-get install xxx")
...
arr=(${arr[@]} "ln -s /path1 /path2")
etc...
# Then I loop on the array of command
for ((i = 0 ; i < ${#arr[@]} ; i++))
do
eval ${arr[$i]}
done
当它循环在阵列上,所述阵列是比存储到它的命令数多。仿佛在我的琴弦的空格中多个元素的数组拆分 一个典型的输出中的诸如此类
usage: sudo -h | -K | -k | -L | -V
这意味着只有“须藤”从字符串内拍摄的,我不明白为什么!
感谢
你能说明'loc_com'是如何设置/使用的吗? – chown
正如chown所说,你可以在调用之前放置一个echo $ {loc_com [$ i]}。 – aayoubi
您可以发布一个测试案例,可以在没有编辑的情况下工作吗? –