为什么我有一个整数表达式预期的错误与此:为什么需要“整数表达式”?
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