shell流程控制
Posted 古兰精
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell流程控制相关的知识,希望对你有一定的参考价值。
一、shell流程控制
1、和其他语言不一样,sh 的流程控制不可为空。如果 else 分支没有语句执行,就不要写这个 else。
2、if else 流程
(1)if 语句语法格式:
if condition
then
command1
command2
...
commandN
fi
写成一行(适用于终端命令提示符):
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
末尾的 fi 就是 if 倒过来拼写,表示 if 结束。
(2)if else 语法格式:
if condition
then
command1
command2
...
commandN
else
command
fi
(3)if else-if else 语法格式:
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
#以下实例判断两个变量是否相等: a=10 b=20 if [ $a == $b ] then echo "a 等于 b" elif [ $a -gt $b ] then echo "a 大于 b" elif [ $a -lt $b ] then echo "a 小于 b" else echo "没有符合的条件" fi #输出结果:a 小于 b
3、for 循环 —— for循环一般格式为:
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
写成一行:
for var in item1 item2 ... itemN; do command1; command2… done;
当变量值在列表里,for 循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的 shell 命令和语句。in 列表可以包含替换、字符串和文件名。
in列表是可选的,如果不用它,for循环使用命令行的位置参数。
#例如,顺序输出当前列表中的数字: for loop in 1 2 3 4 5 do echo "The value is: $loop" done #顺序输出字符串中的字符: #!/bin/bash for str in This is a string do echo $str done
以上是关于shell流程控制的主要内容,如果未能解决你的问题,请参考以下文章