1

所以我想测试一些用 bash 编码的东西。作为一个 n00b,我在基础知识方面遇到了一些问题,以及使用 shell 处理数字时它会变得多么烦人。

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

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

我试过没有回声,我得到: bash: ./0: Permission denied

所以我有点困惑shell试图做什么。

谢谢

4

2 回答 2

2

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

if (($? > 0)) ;then 
  echo "there is an error"; 
else
  echo "it passed"; 
fi
于 2013-05-20T15:58:43.683 回答
0

尝试这个:

OUT=$?
if [ $OUT -eq 0 ];then
   echo "OK!"
else
   echo "NOT OK!"
fi
于 2013-05-20T16:00:03.230 回答