我創建了一個名爲「script.sh」的shell腳本,它讀取數組元素並在終端上打印它。該腳本如下:shellscript的數組聲明在計劃的cron作業中不起作用?
arr=("hello" "world")
for i in ${arr[@]}
do
echo $i;
done
它詳細介紹了在終端執行它預期的輸出即的「Hello World」,但如果我在crontab作業調度在相同的腳本得到自動執行每分輸出存儲在另一個文件,作業失敗並給出
/home/vikash/script.sh: 1: Syntax error: "(" unexpected
錯誤。
crontab的任務執行腳本的每一分鐘,並存儲在另一個文件中的輸出如下:
* * * * * $HOME/script.sh >> $HOME/output.log 2>&1
如何在這種情況下使用陣列?請幫忙。
你在'script.sh'的頂部有'#!/ bin/bash'嗎? – chepner 2013-03-04 19:48:17
...或者,也可以在你的crontab中使用'SHELL =/bin/bash'行,假設你的cron版本支持這個版本,大多數現代Linux發行版似乎... – twalberg 2013-03-04 19:53:34
哦!是的,我沒有添加#!/ bin/bash。感謝它現在的工作。 – vikash 2013-03-05 04:25:18