[英]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.