繁体   English   中英

在脚本中运行命令并检查返回值

[英]Run command in script and check return value

我正在尝试在两个文件夹上运行diff命令,检查返回值,然后检查 output 一条消息。

我有这个:

#!/bin/bash

result='diff dir1 dir2'

if result == 0
then
    echo "OK"
else
    echo "ERROR"
fi

但我得到了result: command not found

我应该如何执行命令并返回值,以便在IF中进行比较?

这里有很多问题。 这是一个例子,但你应该在未来做更多的研究。

#!/bin/bash

result="$(diff dir1 dir2)"
ret=$?
if [[ $ret -eq 0 ]]; then
then
    echo "OK"
else
    echo "ERROR"
fi
exit $ret

最简单的方法是直接检查:

#!/bin/bash

if diff dir1 dir2; then
    echo "OK"
else
    echo "ERROR"
fi

如果您不希望diff打印任何内容,请使用-q标志。

请改用${result} 另外,请注意实际命令上的反引号

#!/bin/bash

result=`diff dir1 dir2`

if [[ -z ${result} ]]
then
    echo "OK"
else
    echo "ERROR"
fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM