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
下一篇: activiti5.22.0资料整理