我刚开始学习如何制作bash脚本。
我想知道是否有办法测试程序是否可以运行。例如,我想测试NCL是否运行。
如果我在终端上写NCL
我
xxx$ ncl
dyld: Library not loaded: /usr/local/lib/libgomp.1.dylib
Referenced from: /usr/local/ncl-6.2.1/bin/ncl
Reason: image not found
Trace/BPT trap: 5
这意味着已安装NCL
,但由于缺少库,程序无法运行。
我想知道bash中是否有一个命令给我1或0,取决于NCL
(或其他一些程序)是运行还是不运行。
答案 0 :(得分:0)
您应该能够像bash这样在bash中检查命令的返回值...
somecommand argument1 argument2
RETVAL=$?
[ $RETVAL -eq 0 ] && echo Success
[ $RETVAL -ne 0 ] && echo Failure
答案 1 :(得分:0)
这一切都取决于ncl命令的返回码。尝试ncl并在收到错误消息后输入echo $?并看到输出。此值为您提供以前键入的命令的返回码,在我们的示例中为ncl。如果该值不为0,则ncl无法运行。
答案 2 :(得分:0)
谢谢Matt和Subashini,你的答案对我帮助很大。 问题很容易解决。 根据您的建议,我创建了一个名为' ncltest.ncl'的ncl脚本文件。打开和关闭ncl只是为了检查。然后检查的bash脚本是这样的:
ncl ncltest.ncl
testfile=$?
if [ $testfile -eq 0 ]; then
echo 'It worked'
else
echo 'It did not work'
fi
在NCL
的情况下,如果工作则返回0,其他数字取决于问题。