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流程控制的主要内容,如果未能解决你的问题,请参考以下文章

shell编程中的流程控制语句

shell编程进阶

Shell 流程控制

shell--8Shell 流程控制

Shell流程控制

Shell 流程控制