shell流程控制

2021/8/22 7:06:13

本文主要是介绍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流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程