分页: 1 / 1

无法测试 返回值 $? ,为这小问题折腾了半天

发表于 : 2011-02-24 11:09
lotreal
想测试 返回值 $?

代码: 全选

#!/bin/bash
tar tf /foo/bar
echo $?
if [ $? -ne 0 ]
then
    echo fail
else
    echo ok
fi
echo ----------------

pwd
echo $?
if [ $? -ne 0 ]
then
    echo fail
else
    echo ok
fi
执行结果始终为:

代码: 全选

tar: /foo/bar: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
2
ok
----------------
/home/lot/workspace/nginx-php-mysql-install
0
ok

求教~

Re: 无法测试 返回值 $? ,为这小问题折腾了半天

发表于 : 2011-02-24 11:20
only_one
你测试的是echo的返回值啊

可以
tar -tf /foo/bar; tar_return=$?

一般直接用if测试
if tar -tf /foo/bar; then

Re: 无法测试 返回值 $? ,为这小问题折腾了半天

发表于 : 2011-02-24 12:09
lotreal
多谢多谢!原来这个原因。。习惯性加测试语句了