(一)while do。。。done和case。。。esac嵌套使用
cpsDeploy_menu(){
echo " --- CPS APP Menu--- "
echo " help app command: getdeploy app_name "
#echo "deploy $size $app_name "
echo " Check app status: status app_name:app_name "
echo " Deploy Command : deploy IP app_name source_path/"
#echo
while true ; do
read -p "App> " appcomm deploylist(两个变量)
case "$appcomm" in
"quit")
break
;;
"getdeploy")
echo " Search $deploylist :"
num=`grep "^$deploylist" cpsapplist.prop | wc -l`
if [ $num > 0 ];then
getdeployapp $deploylist
else
echo " Please sure the app name is correct! "
fi
;;
"deploy")
echo " cps app deployment now...."
echo "deploy directory: $deploylist"
deploywarapp $deploylist
#getdeploylist $deploylist
;;
"status")
getappstatus $deploylist
;;
esac
done
}
注意:
在测试的过程中我发现了一个错误,就是那个if [ $num > 0 ]中不能够用>,正确的用法应该是
if [ $num-gt 0 ]
或者
if [ $num\>0 ]
或者
if [[ $num>0 ]]
(二)while do。。。done和if。。。then。。。fi的嵌套使用
getappInfo(){
app=$1
i=0
sed -n "/^$app=/p" "$sordir"cpsapplist.prop | cut -d= -f2 |
while read i
do
if [ ! -z "$i" ]
then
array=( `echo $i`)
size=${#array[*]}
ip=${array[0]}
appid=${array[1]}
appdir=${array[2]}
startcmd=${array[3]}
apptype=${array[4]}
fi
done
}
点评:
首先getappInfo()是自定义的函数
然后用到一个管道命令
再有就是while do。。。done和if。。。then。。。fi的嵌套使用
最后在if。。。then判断语句中又用到了数组
这些都是这个函数的一大亮点~
ps:
break跳出整个循环
continue跳出本次循环,进行下次循环
分享到:
相关推荐
此外,`if`语句还可以嵌套使用,形成更复杂的逻辑结构: ```bash if 条件表达式1 then if 条件表达式2 then 命令列表 else if 条件表达式3 then 命令列表 else 命令列表 fi fi else 命令列表 fi ``` #...
`if`语句可以通过嵌套实现更复杂的逻辑,可以有多层`if...else if...else`结构。条件表达式通常涉及`test`命令或其等价的`[`和`]`,用来检查文件属性、比较值、检查字符串等。例如,检查参数是否为文件或目录的脚本...
调试Shell脚本可以通过在执行时添加`-x`参数,如`sh -x myscript.sh`,或者使用`-nv`参数,如`sh -nv myscript.sh`。 比较字符串可以使用`test`命令,例如`[ "$str1" = "$str2" ]`检查`str1`是否等于`str2`。 以上...
- **If嵌套与Elif**:多条件判断结构,例如: ```bash if [ $a -gt 10 ]; then echo "a is greater than 10" elif [ $a -eq 10 ]; then echo "a is equal to 10" else echo "a is less than 10" fi ``` ...
##### 例二:多if嵌套 ```bash if [ $VAR -gt 10 ]; then echo "VAR 大于10" if [ $VAR -lt 20 ]; then echo "VAR 小于20" else echo "VAR 大于或等于20" fi else echo "VAR 小于或等于10" fi ``` #### 6. ...
5.2. if/then/elif/else/fi 5.3. case/esac 5.4. for/do/done 5.5. while/do/done 5.6. 位置参数和特殊变量 5.7. 函数 6. Shell脚本的调试方法 32. 正则表达式 1. 引言 2. 基本语法 3. sed 4. awk 5. 练习:在C语言...
9. **流程控制**:包括`if...fi`(条件判断),`case...esac`(多分支选择),`for`,`while`,`until`(循环)等结构。例如: ```bash if [ "$var" -gt 10 ]; then echo "The variable is greater than 10" ...
回答:基础语法如下:if [ 条件 ]then命令1命令2…..elseif [ 条件 ]then命令1命令2….else命令1命令2…..fi。 知识点:if语句、嵌套if语句 6. shell脚本中“$?”标记的用途是什么? 回答:在写一个shell脚本时,...
2. **循环结构**:Shell 支持多种类型的循环结构,如 `for` 循环和 `while` 循环,这些结构在处理重复性任务时非常有用。 3. **条件判断**:使用 `if` 语句可以基于不同的条件执行不同的操作。 4. **颜色控制**...
了解和熟练掌握Shell脚本对于Linux系统管理员和开发者来说至关重要,尤其是在面试过程中,以下是一些常见的Shell脚本面试问题及答案: 1. **Shell脚本是什么,为什么需要它?** Shell脚本是一个包含了多条命令的...