Linux(ubuntu)shell脚本条件判断函数和循环(入门必看)

简介: Linux(ubuntu)shell脚本条件判断函数和循环(入门必看)

一.shell脚本条件判断


       shell脚本之处条件判断,虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂一点的场景就不适合了,shell脚本提供了if  then 的条件判断语句,写法。


1. if  then 语句写法

       if [条件判断] ;then


       //条件判断成立要做的事情


       fi   (结束)


编写:

f5c819e91d734ac390b89778e7f42776.png执行:


5c409b19227848faae723a343dcdd51c.png


2. if then else 语句写法

       if   【条件判断】; then


 //条件判断成立要做的事情


       else   【条件】


   //条件判断不成立要做的事情


   fi    //结束


编写:

d1bdac91e34f446d9f58a6a9311fbb73.png

执行:


7285e0e736904044980e3e76c30fc878.png


3. if  elif else  语句写发

if【条件判断】;then


//条件判断成立要做的事情


elif 【条件判断】;then


//条件判断成立要做的事情


else


//条件判断不成立要做的事情


fi


case 语句写法


case $变量   in


       "第一个变量内容")


       程序段


       ;;      //表示该程序块结束


       "第二个变量内容")


       程序段


       ;;


       "第n个变量内容")


       程序段


       ;;


esac


编写:

5c002451d89149088c973947f91f3a54.png

执行:


b90abb3db29e4ae4a976f6b71a7cca34.png


二.shell 脚本函数


1.  函数的简单使用

例如:

function fname (参数){
        //函数代码段
}
#!/bin/bash
function help(){
    echo "this is help cmd!"
}
function close(){
    echo "this is close cmd!"
}
case s1 in
        "-h")
        help
        ;;
        "-c")
        close
        ;;
esae

2.函数的传参:

#!/bin/bash
print(){
        echo "param 1:$1"
        echo "param 2:$2"
}
print a b

三.shell 循环


1.while   do  done  循环

       while [括号]     //括号内的状态是判断式


       do                  //循环开始


                 //循环代码


       done

#!/bin/bash
while [ "$value" != "close" ]
do
    read -p "please input str:" value
done
    echo "stop while!!"

执行:


13bbb95214c74b4991d3b2c7c4bbb756.png


直到输入  close  循环结束


2.  until  do   done  循环

until[条件]        //不成立开始循环


do


//循环代码段


done


3.for循环

for var in con1  con2  con3  ......


do


//循环体


done    


编写:

#!/bin/bash
for name in bit1 bit2 bit3 bit4
do
    echo "your name: $name"
done

4.for 循环数值处理写法

for((初始值;限制值;执行步长))

do

//循环代码段

done

编写:

#!bin/bash
read -p"please input count:" count
total=0
for((i=0;i<=count;i=i+1))
do 
    total=$(($total+$i))
done
echo "1+2+···+$count=$total"

执行:

754aceb1648f42f0b50087981909aeb0.png

相关文章
|
4天前
|
Ubuntu Linux Python
Linux(15)Ubuntu安装ninja构建工具
Linux(15)Ubuntu安装ninja构建工具
15 0
|
18天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
1天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
12 1
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
9 0
|
4天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
27 0
|
4天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
18 0
|
4天前
|
Ubuntu Linux 芯片
Linux(2)ubuntu rootfs根文件系统制作
Linux(2)ubuntu rootfs根文件系统制作
19 0
|
16天前
|
存储 Shell Linux
【攻防世界】unseping (反序列化与Linux bash shell)
【攻防世界】unseping (反序列化与Linux bash shell)
|
19天前
|
Shell Linux
【Linux】12. 模拟实现shell
【Linux】12. 模拟实现shell
27 2