Shell基础知识讲解(5)流程控制

流程控制

7.1 if判断

  • 基本语法

    if [ 条件判断式 ];then
    	执行程序
    fi
    

    或者

    if [ 条件判断式 ]
    	then
    		执行程序
    fi
    

    注意:

    ​ 1)[ 条件判断式 ],中括号和条件判断式之间必须有空格

    ​ 2)if 后要有空格

  • 案例操作

    #如果是1,输出我是正确的,如果是2,输出我才是正确的,其他不输出
    touch if.sh  #创建文件
    vim if.sh    #编辑文件,写入如下内容
    ###############################################
    #!/bin/bash
    if [ $1 -eq "1" ];then
    	echo "我是正确的"
    elif [ $1 -eq "2" ];then
    	echo "我才是正确的"
    fi
    ###############################################
    chmod 777 if.sh #给文件可执行权限
    ####分别运行以下命令########
    ./if.sh 1
    ./if.sh 2
    ./if.sh 3
    

7.2 case语句

  • 基本语法

    case $变量名 in
    	"值1")
    		echo "我要上春晚"
    	;;
    	"值2")
    		echo "欢乐集结号"
    	;;
    	...
    	其他分支
    	...
    	*) #不满足判断执行
    		echo "我不是综艺节目"
    	;;
    esac
    

    注意:

    1)case行尾必须为单词in,每一个模式必须以右括号‘)’结束

    2)双分号‘;;’表示命令序列结束,等值于break

    3)最后的‘*)’表示默认模式,等值于default

  • 案例操作

    #输入一个数字,如果是1,输出我要上春晚;如果是2,输出欢乐集结号;其他输出我不是综艺节目
    touch case.sh #创建文件
    vim case.sh  #编辑文件,输入如下内容
    ###########################################################
    case $1 in
    	"1")
    		echo "我要上春晚"
    	;;
    	"2")
    		echo "欢乐集结号"
    	;;
    	*) 
    		echo "我不是综艺节目"
    	;;
    esac
    ###########################################################
    chmod 777 case.sh #给文件可执行权限
    ####分别运行以下命令########
    ./case.sh 1
    ./case.sh 2
    ./case.sh 3
    

7.3 for 循环

  • 基本语法

    for((初始值;循环控制条件;变量变化))
    	do
    		执行程序
    	done
    ####################或者###########################
    forin 值1 值2 值3...
    	do
    		执行程序
    	done
    
  • 案例操作

    #案例一:从1加到100
    touch anli1.sh
    vim anli1.sh
    ###############################################################
    #!/bin/bash
    s=0
    for((i=0;i<=100;i++))
    	do
    		s=$[$s+$i]
    	done
    echo $s
    ###############################################################
    chmod 777 anli1.sh
    ./anli1.sh
    
    #案例二:打印所有输入的参数
    touch anli2.sh
    vim anli2.sh
    ###############################################################
    #!/bin/bash
    for i in $*
    	do 
    		echo $i
    	done
    ###############################################################
    chmod 777 anli2.sh
    ./anli2.sh param2 param3
    

7.4 while 循环

  • 基本语法

    while [ 条件判断式 ]
    	do
    		执行程序
    	done
    
  • 案例操作

    #从1加到100
    tiuch while.sh
    vim while.sh
    ###################################################################
    #!/bin/bash
    s=0
    i=1
    while [ $i -le 100 ]
    	do
    		s=$[$s+$i]
    	done
    echo $s
    ###################################################################
    sh while.sh
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小达人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值