一、脚本入下:
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
分享到:
相关推荐
Linux下shell脚本中if语句使用的注意事项 在 Linux 中,shell 脚本中的 if 语句是非常重要的控制结构之一。正确地使用 if 语句可以使得我们的脚本更加灵活和强大。但是,如果不注意一些细节,if 语句可能会出错或不...
在 Linux Shell 编程中,if 语句也可以使用字符串比较运算符来判断字符串的状态。这些运算符包括: * =:判断两个字符串是否相等 * !=:判断两个字符串是否不相等 * -z:判断字符串是否为空串 * -n:判断字符串是否...
1. 使用 if 语句可以比较两个字符串是否相等,例如:if [ "$USER_NAME" = "terry" ]; then echo "I am terry" fi。 2. 使用 strCompare 函数可以比较两个字符串,例如:strCompare "$str1" "$str2"。 六、测试判空 ...
标题中的知识点涵盖了编写Shell脚本时经常会使用的几个关键元素:复杂数学式的处理、字符串的比较、布尔值的表达以及case结构的使用。接下来,我们将详细地对这些元素进行解析和说明。 首先,Shell脚本中的复杂数学...
* Shell 字符串是指在 Shell 中的字符串类型数据 * Shell 字符串可以使用双引号或单引号来定义 Shell 数组: * Shell 数组是指在 Shell 中的数组类型数据 * Shell 数组可以使用括号来定义 Shell echo 命令: *...
在BAT文件中,可以使用`IF`语句、`GOTO`标签和`FOR`循环来实现更复杂的逻辑。例如,遍历文件夹中的所有文件,对每个文件的每一行进行字符串处理。 5. **变量和通配符**: 批处理文件支持变量和通配符。变量用`SET...
### Shell脚本中if语句中的-z到-d选项详解 #### 概述 在Shell脚本编程中,`if`语句是实现条件判断的重要工具之一。通过`if`语句,我们可以根据不同的条件来执行相应的代码块。而在Shell脚本中进行文件测试时,会...
"经典Shell语句大全"这个主题涵盖了在日常工作中频繁使用的、具有高效能和实用性的命令与技巧。以下是一些核心的Shell知识点: 1. **基本命令**: - `ls`:列出目录内容。 - `cd`:切换当前工作目录。 - `pwd`:...
shell中可以直接使用整数或字符串变量作为条件,而C语言则需要使用比较运算符。此外,shell中的if语句可以直接跟命令,通过命令的退出状态来判断条件,而C语言需要显式地比较。 下面是一些实际的例子: ```bash #!/...
Shell测试语句使用`[ ]`或者`test`命令来比较字符串、数字或文件状态等。控制语句则包括if、for、while、case等结构,用于编写复杂的程序逻辑。 Shell函数则是将一段经常使用的代码块封装起来,方便在脚本中的多次...
在这个“linux shell程序设计实验1”中,我们将探讨如何利用基本的`case`和`if`语句来编写简单的Shell程序。 一、Shell程序基础 在Linux环境中,Shell是一个命令解释器,它接收用户输入的命令并执行。Bash是最常见...
在Linux shell中,`if`语句常用的条件测试包括文件测试和字符串测试以及算术比较。 **文件测试运算符**: - `-b`: 如果文件存在且是块设备文件,则返回真。 - `-c`: 如果文件存在且是字符设备文件,则返回真。 - `-...
在深入探讨shell脚本中`if`语句的条件判断逻辑之前,我们首先需要理解shell脚本的基础概念。Shell脚本是一种为Unix操作系统家族(包括Linux)编写的脚本语言,它允许用户通过一系列命令来自动化任务处理。`if`语句...
如果想过滤出长度小于等于6的字符串,可以使用if语句配合`length()`,如下所示: ```bash awk '{ if (length($0) ) print $0 }' test ``` 这里的 `$0` 代表整行内容,这条命令将打印出文件`test`中所有长度不超过6...
在Shell中,if语句的基本形式如下: ```bash if condition then command1 command2 ... commandN fi ``` 如果条件`condition`为真(非零),则执行`command1`到`commandN`。如果条件为假(零),则跳过...
在Shell脚本编程中,字符串操作和循环语句是非常基础且重要的部分。下面将详细讲解这两个主题。 **一、字符串操作** 在Shell中,字符串可以是单引号或双引号包围的字符序列。不同之处在于,单引号内的变量不会被...
首先,条件测试是进行判断的基础,它包含了对文件、整数、字符串以及逻辑的比较。文件测试使用`[`或`test`命令,通过不同的操作符来检查文件或目录的状态。例如,`-f`用于检查是否为文件,`-d`检查是否为目录,`-e`...
本文将详细介绍如何在Shell的`if`语句中使用正则表达式。 1. **正则表达式基础** 正则表达式是一种强大的文本模式匹配工具,用于描述字符串的模式。在Shell脚本中,常见的正则表达式元字符包括: - `^`:表示字符...