我是新來的bash腳本編制,雖然我知道這無疑是一個重複的問題,但我無法弄清楚如何將它搜索出來。Bash「if」條件被執行,不管是什麼
for i in $(ls); do
FILETYPE=$(file -b $i)
if [ "$FILETYPE"="Apple binary property list" ]; then
echo $FILETYPE
else
echo "nope"
fi
done
我期待這時候的語句成功,並僅打印「不」,否則只打印
「蘋果二進制屬性列表」
。
發生什麼事情是它打印文件類型,不管語句是成功還是失敗,並且從不打印「nope」。
我知道這是簡單的,但有人可以告訴我爲什麼它打印除「Apple二進制屬性列表」和「不」之外的任何東西,
和我能做些什麼來解決它?
嘗試添加字符串之間的一些空間的條件,如' 「$ FILETYPE」= 「...」' –
使用shellcheck.net到找到你的腳本明顯的失誤 – anubhava
我的問題是爲什麼會做什麼的如果,如果語句是不正確的......我會明白,如果只印有「沒了」,但它使零意義,我爲什麼會回聲$文件類型如果條件失敗 –