我有一個包含以下「if」語句的bash腳本。問題是我無法讓它在Debian上運行(它在Fedora和CentOS上運行良好)。「if」語句在Debian Linux上不起作用
if [ $1 == "--daily" ] # <--- line 116
then
countDaily
elif [ $1 == "--monthly" ] # <--- line 119
then
countMonthly
fi
它運行後:
sh /home/kris/countsc.sh --daily
我得到一個錯誤:
/home/kris/countsc.sh: 116: [: --daily: unexpected operator
/home/kris/countsc.sh: 119: [: --daily: unexpected operator
您所標記的問題'bash',但你不使用bash shell。 – Marco
此外,你應該包括一個shebang行來爲你的腳本選擇一個shell解釋器。否則,用戶不知道腳本是用哪種方言編寫的,並且可能使用POSIX shell來解釋bash腳本。使用shebang命令行腳本可以執行,然後自動選擇正確的shell。 – Marco
@Marco我在這個腳本的開頭有一個'#!/ bin/bash'行。我沒有把它包括在這裏。 – Kristopher