我想要编写一个shell脚本来验证是否安装了对接程序。
如果安装了码头:
$ docker -v
Docker version 1.7.0, build 0baf609
$ echo $?
0
如果没有安装码头:
$ docker -v
The program 'docker' is currently not installed. You can install it by typing:
apt-get install docker
$ echo $?
127
这是我的剧本:
#!/bin/bash
docker -v
if echo $? = 128 ; then
echo "The program 'docker' is currently not installed."
else
echo "Continuing with dockerized way"
fi
在这里,为了测试目的,我在没有安装坞的机器上运行它,保持127 = 128,条件错误,所以它应该进入其他程序,但是它仍然打印程序' docker‘目前还没有安装。我想知道我在这里错过了什么。
发布于 2016-11-14 21:41:43
正确的语法是:
if [ $? -eq 128 ]; then
...
为了使它更加健壮,您可能需要检查:
if [ $? -ne 0 ]; then
...
https://stackoverflow.com/questions/40598240
复制相似问题