Mac-Osx

如何更改 OSX Leopard 的 cron shell

  • January 27, 2010

如果我使用 Bash 從命令行呼叫它,我有一個執行良好的腳本。但是當 cron 嘗試執行它時,它會因為“mysql: command not found”錯誤而失敗。

我認為這是因為 cron 沒有使用 bash 作為它的 shell,但我不知道如何讓 cron 使用 bash。

我嘗試將其添加到腳本的頂部:

#!/bin/bash

但沒有喜悅。如何強制 cron 使用 bash 作為它的 shell?我對 bash 和 cron 有點陌生,所以我可能會遺漏一些簡單的東西。我閱讀了幾篇伺服器故障文章(將連結到所有文章,但我不能,新使用者)並嘗試盡我所能理解和應用這些資訊,加上Google搜尋了很多,但被卡住了。

Pulegium 是對的,問題不是外殼類型,而是路徑。當 cron 執行時,它的搜尋路徑非常有限,而不是mysql輸入您的命令,您應該/path/to/mysql輸入執行檔的實際路徑。通常像/usr/local/bin/mysql. 您必須搜尋它才能找到確切的路徑。此外,如果這是一個 shell 問題,您可以在您的 cron 文件中執行 bash 然後執行您的 script: /bin/bash /path/to/script.sh,這將確保 bash 是處理文件的那個。

引用自:https://serverfault.com/questions/106820