比较为数值。 UNIX

时间:2013-05-20 15:52:18

标签: linux bash unix

所以我试图在bash中测试一些代码。作为一个n00b,我在基础知识方面遇到了一些问题,以及使用shell处理数字会有多刺激。

if $((echo $?)) > 0 ;then 
  echo "there is an error"; 
else
  echo "it passed"; 
fi

我得到的错误是: bash:echo 0:表达式中的语法错误(错误标记为“0”)

我试着没有回声,我得到: bash:。/ 0:权限被拒绝

所以我对shell试图做的事情感到有点困惑。

由于

2 个答案:

答案 0 :(得分:2)

整个算术评估必须在双括号内:

if (($? > 0)) ;then 
  echo "there is an error"; 
else
  echo "it passed"; 
fi

答案 1 :(得分:0)

试试这个:

OUT=$?
if [ $OUT -eq 0 ];then
   echo "OK!"
else
   echo "NOT OK!"
fi