我是shell腳本編程新手。我正在努力解決這個問題。從shell腳本調用腳本 - 找不到命令
> script to execute in cron (util.sh)
#!/bin/sh
HOST='ahostname'
PORT='3306'
USER='auser'
PASS='apassword'
DB='adatabase'
. /mnt/stor/backups/backup.sh
(我也試過源/mnt/stor/backups/backup.sh)
> script to execute (backup.sh)
當backup.sh是所謂的(它被調用),這似乎只是被解析,而不是執行。所以,不管是什麼,我把它,我得到這樣的消息:
/mnt/stor/backups/backup.sh: line 8: date: command not found
/mnt/stor/backups/backup.sh: line 8: mysqldump: command not found
/mnt/stor/backups/backup.sh: line 8: tar: command not found
/mnt/stor/backups/backup.sh: line 8: rm: command not found
的想法是有一個域名本地化的文件,使用變量執行它,並調用使用變量做骯髒的工作主腳本。由於我的主機和多個域的限制,這是最好的方法。
最有可能的子shell有很多不同的路徑比母貝。嘗試爲命令添加絕對路徑,例如'/ bin/rm','/ bin/tar'等...... –
看起來像'PATH'沒有正確設置cron的命令。如果是這樣的情況下,使用絕對路徑到你的命令(日期,焦油等)或設置在backup.sh一個'PATH'可能的幫助。 –
爲什麼標記爲* perl *? – Quentin