我正在使用Shell脚本将服务器装入服务器并运行一些docker命令。但是,某些命令在Docker版本1.7中失败。我有一个针对1.7的修复程序,但是如果我一直使用它,则运行shell脚本将花费更长的时间。因此,我想检查该版本,如果它是1.7,请回到较慢的脚本。否则运行不错的快速版本。

思考类似

if ssh -l root $1 "docker -v === '1.7.*'" 
then 
    echo "Docker version 1.7!" 
else  
    echo "Docker version not 1.7!" 
fi 

显然,这是行不通的。有任何想法吗?

请您参考如下方法:

您可以使用:

if [[ $(ssh -l root "$1" 'docker -v') == *" 1.7."* ]]; then 
    echo 'Docker version 1.7!' 
else  
    echo 'Docker version not 1.7!' 
fi 
  • 您需要使用命令替换ssh
  • 来获取整个 $(...)命令的输出
  • Shell支持===,但不支持===
  • 将全局字符保留在报价
  • 之外


    评论关闭
    IT序号网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!