shell编程 之 流程控制(条件语句和循环语句)

1 if ...else...

基本格式:

if condition

then

commend

else

commend

fi

当然也可以写到一行,用[ ]表明边界,用;表示分行。比如: if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi    判断条件用方括号括起来表示分界,意思是统计当下进程中

带’ssh‘的字符串数量,如果这个数量大于1,那就输出true,结束。

还有带elif的格式,如下:

if condition

then

commend

elif condition1

then

commend1

else

commend2

fi

实例:

a=10
b=20
if [ $a == $b ]    #此处方括号和内部的内容之间必须有空格
then
   echo "a 等于 b"
elif [ $a -gt $b ]    #这种写法也可以改写成test $a -gt $b
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi
#注意,c=[ $a -lt $b ];echo $c 得不到任何输出值,它不和python一样,true和false不能被打印出来,实在是想试试的话,可以用[ $a -lt $b ] && echo hehe(||)也行(得到hehe就表示前面是ture)

a=1
b=2
[ $a -lt $b ] && echo hehe1    #且,第一个为true的话,第二个仍需判断,这样才能知道总体是true还是false
[ $a -gt $b ] || echo hehe2    #或,第一个是true的话,第二个不用执行就能得到总体的返回值是true

2 for循环

基本格式:for i in item1 item2

do

commend

done

写成一行的时候仍然是分号隔开:for i in item1 item2; do commend; done

实例:

for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done    #结果是
#The value is:1
#The value is:2 ...一直到5

有一点得注意,for i in " a string",输出的i将会是:a string,这里和python不一样,这里不会把字母一个一个拆开迭代。

3 while循环

只要符合条件就一直执行。一般格式为:

while condition    #condition 不写,或者写true,就可以导致无限循环。

do

commend

done$

实例;    #得到的输出是1,2,3,4,5,let用于计算多个表达式,不需要加上变量指示符号$,自加操作:let no++  ,自减操作:let no-- 。简写形式 let no+=10,let no-=20,分别等同于 let no=no+10,let no=no-20

int=1
while(( $int<=5 ))    #写成:[ $int -le 5 ]也行
do
    echo $int
    let "int++"
done

4 until循环

一直循环到有一个ture为止。和wihile正好相反

untill condition

do

commend

done

实例:     

a=0

until [ ! $a -lt 10 ]    #除非a大于等于10否则一直运行
do
   echo $a
   a=`expr $a + 1`
done

5 多选择语句

就是在多个语句中选一个,注意引号,换行。

实例:

aNum=3
case $aNum in    #变量aNum可以是数字或者字符串abc等
    1) echo ‘你选择了 1‘
    ;;    #俩分号
    2)  echo ‘你选择了 2‘
    ;;
    3)  echo ‘你选择了 3‘
    ;;
    4)  echo ‘你选择了 4‘
    ;;
    *)  echo ‘你没有输入 1 到 4 之间的数字‘
    ;;
esac    #esca是反过来的

6 跳出循环

  break命令跳出所有循环。

   实例:

while :
do
    echo -n "输入 1 到 5 之间的数字:"
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"    #*表示除了12345以外的其他情况
            break    #直接跳出并且终止这个程序
        ;;
    esac
done

 continue 跳出这一层循环

    实例:

while :
do
    echo -n "输入 1 到 5 之间的数字: "
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的!"
            continue        #如果输入的值不是1-5之间的数,contiuune会直接调到” echo -n “输入1到5之间的数字”
            echo "游戏结束"
        ;;
    esac
done

  

原文地址:https://www.cnblogs.com/0-lingdu/p/9261361.html

时间: 2024-07-31 07:29:59

shell编程 之 流程控制(条件语句和循环语句)的相关文章

流程控制(二)---循环语句 (25th,Feb)

1.while循环语句 While循环语句也成为条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句.语法格式如下: While(条件表达式) {    执行语句 } 当条件表达式的返回值为真是,则执行{}中的语句,当执行完{}中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环. 例: 求1+2+3+...+100的和 package com.hanqi; public class Xunhuan { public static void main(

linux shell编程 之 流程控制

if 语句: 以前就是用的test 例子1:当硬盘超过80%,就进行通知管理者 例子2:Apache关闭时,自动重启 例子3:多分支if语句 例子4:备份etc目录 case语句: for语句: 批量进行解压缩类似 批量添加用户 while语句: until循环: 与while循环相反,只要判断条件不成立,一直循环,知道条件成立 用until达到和上面例子一样效果:

Linux学习笔记(18) Shell编程之流程控制

1. if语句 (1) 单分支if条件语句 格式为: # 注意条件判断式两端的空格if [ 条件判断式 ];then 程序员 fi 或者 if[ 条件判断式 ] then 程序 fi 例:判断分区使用率 #!/bin/bash #获取根分区的使用率 rate=$(df -h | grep "/dev/sda5" | awk '{print $5}' | cut -d "%" -f 1) if [ $rate -ge 10 ] then echo "/dev

shell脚本之流程控制

shell脚本之流程控制 shell脚本之流程控制 条件语句 条件判断 循环语句for,while,until for循环 while循环 until循环 循环控制语句continue 循环控制语句break 循环控制shift命令 创建无限循环 while的特殊用法 for的特殊用法 select循环与菜单 select与case 信号捕捉trap 条件语句 选择执行: 注意:if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为

shell编程(四)--- 条件判断之if判断

单分支if语句 if 判断条件;then     statement1     statement2 fi 双分支if语句 if 判断条件;then     statement1     statement2     -- else     statement3     statement4     -- fi 多分支if语句 if 判断条件1;then     statement1     statement2     -- elif 判断条件2;then     statement3    

Shell命令和流程控制

Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字操作的. 常用命令语法及功能 echo "some text": 将文字内容打印在屏幕上 ls: 文件列表 wc –l filewc -w filewc -c file: 计算文件行数 计算文件中的单词数 计算文件中的字符数 cp sourcefile destfile: 文件拷贝 mv

shell编程(五)--- 条件判断之算术运算

方法1:let 算术运算表达式 示例1: [[email protected] Scripts]# A=2 [[email protected] Scripts]# B=3 [[email protected] Scripts]# let C=$A*$B [[email protected] Scripts]# echo $C 6 [[email protected] Scripts]# 方法2:$[算术运算表达式] 示例2: [[email protected] Scripts]# echo 

python流程控制-条件与循环-python3笔记

1.条件语句 2.循环语句 1.条件语句: 形式: if 判断语句 : 执行语句1 elif 判断语句2: 执行语句2 elif 判断语句3: 执行语句3 #... else: 执行语句4 占位符 pass 意义: if(如果) A : 就 B(当A为True) elif(或者) C : 就 D(当A为False并且C为True) else(否则) : 就E(当A和C都为False) #if a,b=1,2 if a > b: #if 必须接判断语句 print(a) elif a == b:

javascript语句——条件语句、循环语句和跳转语句

× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文介绍可以改变语句默认执行顺序的条件语句.循环语句和跳转语句 条件语句 脚本的威力体现在它们可以根据人们给出的各种条件做出决策,javascript使用条件语句来做判断 条件语句(conditianal statement)通过判断表达式的值来决定执行还是跳过某些语句,包括if语句和switch语句