首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash中是否有一个命令检查程序是否可以或不能运行?

bash中是否有一个命令检查程序是否可以或不能运行?
EN

Stack Overflow用户
提问于 2014-10-27 20:12:00
回答 3查看 184关注 0票数 0

我刚刚开始学习如何制作bash脚本。

我想知道是否有办法测试一个程序是否能运行。例如,我想测试NCL是否运行。

如果我在终端上写NCL的话

代码语言:javascript
复制
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 (或其他程序)是运行还是不运行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-27 20:16:15

您应该能够像这样在bash中检查命令的返回值.

代码语言:javascript
复制
somecommand  argument1 argument2
RETVAL=$?
[ $RETVAL -eq 0 ] && echo Success
[ $RETVAL -ne 0 ] && echo Failure
票数 0
EN

Stack Overflow用户

发布于 2014-10-27 20:20:30

这都取决于ncl命令的返回代码。尝试ncl并在获得错误消息后输入echo $?看看输出结果。此值为您提供以前键入的命令的返回代码,在本例中为ncl。如果值不是0,则ncl无法运行。

票数 0
EN

Stack Overflow用户

发布于 2014-10-29 15:29:13

谢谢马特和苏巴希尼你的回答对我很有帮助。这个问题很容易解决。按照您的建议,我创建了一个名为“ncltest.ncl”的ncl脚本文件,该文件打开和关闭ncl只是为了检查。检查的bash脚本是:

代码语言:javascript
复制
ncl ncltest.ncl
testfile=$?
if [ $testfile -eq 0 ]; then
 echo 'It worked'
else
 echo 'It did not work'
fi

NCL的情况下,它返回0(如果工作)和其他数字(取决于问题)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26596005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档