if lsusb | grep "Spreadtrum" > /dev/null 2>&1
thenecho " success"
else
echo " fail"
fi
lsusb | grep "Spreadtrum" > /dev/null 2>&1
if [ "$?" -eq "0" ];then
echo "success"
else
echo "fail"
fi
以上2種方式意思相同,故可使用第1種較爲簡潔
主要原因是
BJS\lisa.liu@lisaliuubtpc:~/bin$ lsusb | grep "Spreadtrum"
Bus 002 Device 017: ID 1782:5d04 Spreadtrum Communications Inc.
輸出有很多域,故不能直接使用
if [ -n `lsusb | grep "Spreadtrum"` ]then
echo "success"
else
echo "fail"
fi
否則會出現錯誤提示: bash: [: too many arguments
如果僅有一個域輸出,則可以使用最後一種格式,但需要改寫
if [ -n `lsusb | grep "Spreadtrum" | awk '{ print $7 }'` ]
then
echo "success"
else
echo "fail"
fi