[英]Linux Bash Script : Comparison of strings in if with escape characters
代碼:
if [["$MP" -ne "$vl2"]]; then
echo -e "Comparing Apples to Oranges !!\n" >> ${LOGFILE}
subject="$0 : Warning : Please check Source Directory"
SendEmail I "${subject}" "" "${LOGFILE}" "${vel}"
exit 99
fi
輸出為:請檢查最后一行的錯誤。 謝謝 !
+ PG=./cleanupADir.sh
+ MP=/u01/oracle
+ TH=90
+ MT=3
+ TY=log
+ SD=/u01/oradata/logs
++ expr length /u01/oracle
+ vl1=11
++ expr substr /u01/oradata/logs 1 11
+ vl2=/u01/oradat
+ echo /u01/oradat /u01/oracle
/u01/oradat /u01/oracle
+ '[[/u01/oracle' -ne '/u01/oradat]]'
./cleanupADir.sh: line 73: [[/u01/oracle: No such file or directory
添加幾個空格后的[[
和之前的]]
,和字符串改變ne
來!=
:
if [[ "$MP" != "$vl2" ]]; then
一個類似的會話:
$ set -x
$ export x=apple
+ export x=apple
+ x=apple
$ export y=orange
+ export y=orange
+ y=orange
$ if [["$x" -ne "$y"]];then echo "XXX";fi
+ '[[apple' -ne 'orange]]'
bash: [[apple: command not found
if [[ "$x" -ne "$y" ]];then echo "XXX";fi
+ [[ apple -ne orange ]]
if [[ "$x" != "$y" ]];then echo "XXX";fi
+ [[ apple != \o\r\a\n\g\e ]]
+ echo XXX
XXX
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.