我一直在用這個「玩弄」一段時間,對於我剛剛解決的大多數問題,現在我需要解決這個問題。爲什麼一些「if」測試不能在我的cron腳本中工作
爲什麼基本上我所有的cron作業不具有「如果測試」
讓我在shell中運行它採取這一
if [ "$line" == "downloads.php" ]
作品精美絕倫,當我啓動它的cron工作工作只是從來沒有工作。變通辦法
if echo "$line" | grep -q "downloads.php"
雙向工作。這是爲什麼?對於第一個[]基本上代表「測試」,第二個很好,它只是一個grep。但爲什麼「測試」不能在我的cron作業中工作? (有或沒有重定向到>空)
我目前需要這一個在cron工作,現在我真的不知道如何解決,或基本上我只是最終想了解如何解決這個問題,什麼我做錯了。
while [[ "${ofile: -1}" != "_" ]]
這個只是產生一個錯誤「87:壞替代」,這樣做,直到第一個字符是「_」
我設法克服cron的所有問題,從完整路徑,對環境,這一個對我來說仍然是一個難題。任何幫助表示讚賞。
grep的也將匹配,如果'downloads.php'是線的一部分,而不是整個行。 – Noctua
'$ line'從哪裏來?請注意,「cron」作業的工作目錄可能與您在「cron」之外進行測試時所處的目錄不同。因此,根據'$ line'的生成方式,這可能是不同的。 – lurker
看起來您正在通過'/ bin/sh'執行cron中的代碼,但手動爲'/ bin/bash'。 – jordanm