我有腳本可以處理一堆東西。它提供了一系列腳本運行目錄中的函數。即cron:運行一個源代碼函數的腳本
/home/me/script.sh
/home/me/function1
/home/me/function2
如果我cd
成/家庭/我和運行./script.sh
一切工作正常。這些功能來源並做了需要做的事情。但是,如果我嘗試運行這個作爲一個cron作業,它會運行直到我試圖獲取函數,然後它只是停止和過程終止(如果我直接從目錄,至少我得到一些錯誤)。
像明智一樣,如果我嘗試從另一個目錄運行這個,我會遇到一堆錯誤。例如
cd /opt/
/home/me/script.sh
function1: command not found
function2: command not found
我敢肯定這與環境變量有關,但我不知道哪一個。我試過設置(在crontab中):
PATH=/home/me
SHELL=/bin/bash
但是這也行不通。任何幫助表示讚賞。我不想在函數的路徑中進行硬編碼,而是使它們相對於腳本所在的路徑(最好是相同的目錄)。
如果您需要更多信息,請讓我知道。
向我們展示script.sh function1 function2內容,以及如何編寫你的crontab – sigmalha