0
好的,這是一件非常簡單的小事情,但它已經到了耗盡2-3小時的時間,試圖找出爲什麼這種方式無法正常工作並且無處可尋。在Bash腳本中比較數組中的字符串
我想製作Bash/Shell-Script程序,並且在它的某一點上,我想檢查字符串數組的內容以查看字符串是否爲空。我的代碼如下:
#Display any words the user corrected, and what he/she corrected it with (ignore blank corrections)
printf "\n\n" "MISPELLED/CORRECTIONS"
for ((i=0; i<${#words[*]}; i++)); do
if [!"${corrections[$i]}"=""]; then //this is line 25
printf "\n ${words[$i]} ${corrections[$i]}"
fi
done
我不積極,如果我用的方式!運營商是合法的,但有或沒有它,我得到的運行時錯誤:
./test:第25行:[=]:找不到
命令我可以張貼代碼,如果需要的休息是的,儘管我主要確信「修正」數組正確地填充了字符串。
你需要把在''if' ['和其餘的事情之間的間隔。 – 2014-10-07 23:08:16
Gah!我可以發誓我至少曾嘗試過一次!嗯,就是這樣,謝謝! – aredscout 2014-10-07 23:14:46
最好使用'-z'來檢查是否爲空或'-n'爲非空。 '如果[-z] $ {corrections [$ i]}「]'如果字符串爲空(空白)則爲真。 '如果[-n] $ {connections [$ i]}「]'如果字符串不爲空(非空),則爲真。 – alvits 2014-10-07 23:17:57