我正在努力執行一組存儲爲數組中字符串的命令行。 我的代碼看起來是這樣的:執行描述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
您可以發佈一個測試案例,可以在沒有編輯的情況下工作嗎? –