我在尋找一個目錄中的子目錄的數量,並將其與預定義的數字進行比較。bash中的簡單字符串比較
例:
cd /Applications/
x=echo ls -d */ | wc -l | sed 's/^ *//g'
y="52"
if [ "$x" == "$y" ]; then
echo "equal"
else
echo "not equal"
fi
它會給我(對我來說52)對於x一個數字,但總是會說 「不等於」。我究竟做錯了什麼?任何幫助將不勝感激。
感謝
其實,它不會給你一個數字。 – user2719058
考慮使用[[]] - 雙方括號形式的謂詞,除非您需要與不具有此擴展名的shell兼容,基於以下原因:http://stackoverflow.com/questions/13542832/ bash-if-difference-between-square-brackets-and-double-square-brackets – polkadotcadaver
我知道這不會給我一個數字本身,但我比較兩個字符串;除非我失去了一些東西?我不幸的嘗試了雙方括號。 – user3089044