如何检查命令是否成功?

Modified on: Sat, 09 Jun 2018 17:54:53 +0800

有没有办法检查执行命令是否有错误?

示例:

test1=`sed -i "/:@/c connection.url=jdbc:oracle:thin:@$ip:1521:$dataBase" $search`
valid $test1

function valid () {
  if $test -eq 1; then
    echo "OK"
    else echo "ERROR" 
  fi
}

我已经尝试过这样做,但似乎无法正常工作。我不知道怎么做。

最佳答案

返回值存储在$?中。 0表示成功,其他表示错误。

some_command if [ $? -eq 0 ]; then echo OK else echo FAIL fi

与任何其他文本值一样,您可以将其存储在变量中以供将来比较:

some_command retval=$? do_something $retval if [ $retval -ne 0 ]; then echo "Return code was not zero but $retval" fi

有关可能的比较运算符,请参阅man test 一>

作者:,Lekensteyn

相关问答

添加新评论