爲什麼我有一個整數表達式預期的錯誤與此:爲什麼需要「整數表達式」?
at=`echo $1 | grep -q "@"`
if [ $at -ne 0 ]; then
echo "blabla"
else
echo "bloblo"
fi
$at
設置,測試腳本
爲什麼我有一個整數表達式預期的錯誤與此:爲什麼需要「整數表達式」?
at=`echo $1 | grep -q "@"`
if [ $at -ne 0 ]; then
echo "blabla"
else
echo "bloblo"
fi
$at
設置,測試腳本
當測試的grep -q
的結果,你想測試$?
不grep的輸出,這將是空
at=$(echo "$1" | grep -q "@")
if [ $? -ne 0 ]; then ...
或者乾脆
if echo "$1" | grep -q "@"; then ...
,或者更多的bash-LY
if grep -q "@" <<< "$1"; then ...
或者,如果不調用grep:
if [[ "$1" == *@* ]]; then ...
或
case "$1" in
*@*) echo "match" ;;
*) echo "no match" ;;
esac
-ne
外部的微小的工作是比較整數。使用!=
來比較字符串。
感謝了很多人!它工作正常,但它需要[「$ at」!= 0];感謝您的快速回復:) - – user767990 2011-05-24 15:47:26
當測試grep -q的結果時,您想要測試$? :完全謝謝你的目標,我想我今天學到了一些東西:)特別喜歡「不grep」語法。順便一提,謝謝 – user767990 2011-05-24 16:35:32