欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell中if语句的使用中字符串对比中的坑 shell脚本 

程序员文章站 2022-07-09 17:13:46
...

一、脚本入下:

       
if [[ $type=="app" ]]; then
                echo '----in app'
                #docker run -d -p $port:8088 --name $project $dockerimage
                docker run -d --name $project -v /root/common/dubbo/bin:/dubbo/bin:Z -v /root/project/$project:/etc/supervisor.d:Z $dockerimage
        else
                echo '----in dubbo'
                #使用host网络模式启动,注意不同dubbo的端口需不同,防止冲突
                docker run -d --net host --name $project -v /root/common/dubbo/bin:/dubbo/bin:Z -v /root/project/$project:/etc/supervisor.d:Z $dockerimage
        fi


二、问题: $type值明明给了app,但是逻辑还是走了else

三、排查发现是if中的==两边没有空格导致的,加空格后解决问题。修改后的脚本
if [[ $type == "app" ]]; then
                echo '----in app'
                #docker run -d -p $port:8088 --name $project $dockerimage
                docker run -d --name $project -v /root/common/dubbo/bin:/dubbo/bin:Z -v /root/project/$project:/etc/supervisor.d:Z $dockerimage
        else
                echo '----in dubbo'
                #使用host网络模式启动,注意不同dubbo的端口需不同,防止冲突
                docker run -d --net host --name $project -v /root/common/dubbo/bin:/dubbo/bin:Z -v /root/project/$project:/etc/supervisor.d:Z $dockerimage
        fi



参考资料: https://www.cnblogs.com/aaronLinux/p/7074725.html
相关标签: shell 脚本