0
由於限制了bash
shell的不可用性,我使用了sh
shell。下面的一段代碼在bash
外殼上運行正常,但在sh
外殼上運行時會引發錯誤。使用sh腳本時出錯
if [[ -n $(grep -i "${RSA_BACKUP[iter]}: OK" $BACKUP_HASH_TRACK) ]]
error: /etc/backup_infra.sh: line 79: syntax error: bad substitution
你正在使用的變量的值是多少?如果沒有這些適當的價值,你的投入是不可覈實的,因此不能提供適當的解決方案。 – Inian
你的代碼有兩個元素,它們是bashisms,不能在POSIX shell中工作(假設你的'sh'是POSIX,你還沒有確認)。第一個是'[['。不要使用它,請重新編寫腳本以使用傳統測試。有關您的平臺上可用內容的詳細信息,請參閱「man test」。第二個是你使用數組。 Bash支持數組。 POSIX shell不。如果你需要幫助編碼解決這個問題,你需要在你的問題中提供更好的背景。 – ghoti
@ ghoti:完全同意你的意見。正如你所看到的,OP的帖子是無法證實的,我們不知道他的要求是什麼,他對變量的價值是什麼(我甚至發佈了一條要求提供信息的評論),但對這些信息的最少建議/幫助我可以給推薦使用[我這樣做 – Inian