近來發生了一件怪事,某一 shell script 在 console 環境下執行正常,但設定 cron job執行卻一直無法正常執行。
耐下性子,一步步、一行行找到底哪個指令出現問題:才發現執行到某一 for loop 就中斷了。把執行結果轉向某一記錄檔,內容卻也空空如也。
怪的是 console 環境下卻可以執行... ?!
忽然靈光一現! 難道 cron job 不是以bash shell環境來執行?
檢查shell script的第一行。賓果! 果然 #!/bin/bash 消失不見了!
加上 #!/bin/bash 之後。cron job執行也就正常。
提醒大家,務必養成良好習慣時時確認 shell script 的第一行是否指定了正確的shell環境來執行您的script喔~
#