2013年3月12日 星期二

組合的力量 - 再檢查一次 shell script 的第一行

近來發生了一件怪事,某一 shell script 在 console 環境下執行正常,但設定 cron job執行卻一直無法正常執行。

耐下性子,一步步、一行行找到底哪個指令出現問題:才發現執行到某一 for loop 就中斷了。把執行結果轉向某一記錄檔,內容卻也空空如也。

怪的是 console 環境下卻可以執行... ?!

忽然靈光一現! 難道 cron job 不是以bash shell環境來執行?

檢查shell script的第一行。賓果! 果然 #!/bin/bash 消失不見了!

加上 #!/bin/bash 之後。cron job執行也就正常。

提醒大家,務必養成良好習慣時時確認 shell script 的第一行是否指定了正確的shell環境來執行您的script喔~

#

沒有留言: