Shell编程之流程控制

这篇具有很好参考价值的文章主要介绍了Shell编程之流程控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

if判断

case语句

for循环

 while循环


if判断

语法:

if [ 条件判断表达式 ]

        then

                程序

elif [ 条件判断表达式 ]

         then

                程序

else

        程序

fi

注意:

  • [ 条件判断表达式 ],中括号和条件判断表达式之间必须有空格。
  • if,elif,else 后要有空格
  • if,fi 不可省略,elif,else 可省略

示例如下:

#!/bin/bash


if [ $1 == '']

  then

    echo "参数不能为空"

elif [ $1 == 1 ]

  then

    echo "输入的数字是1"

else

  echo "输入的参数是 $1"


fi

Shell编程之流程控制,shell编程,linux,运维,服务器

case语句

语法:

case $变量名 in

"值1")

        程序1

;;

"值2")

        程序2

;;

。。。其他分支。。。。。。

*)

        默认执行程序

;;

esac

示例:

#!/bin/bash

case $1 in
1)
        echo "输入的值是1"
;;

2)
        echo "输入的值是2"
;;
*)
        echo "输入的值是其他值"
;;
esac

Shell编程之流程控制,shell编程,linux,运维,服务器

注意:

  • 每一匹配模式必须以右括号结束;
  • 取值可以为变量或常数;
  • 匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;(类似break);
  • 取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令;
  • case、in 和 esac 都是 Shell 关键字, esac就是case的反写在这里代表结束case;
  • 匹配模式: 可以是一个数字、一个字符串,或者是一个简单正则表达式;

for循环

语法1:

for(( 初始值;循环控制条件;变量变化 ))

        do

                程序

        done

示例l:求1-100累加和

#!/bin/bash

for((i=1;i<=100;i++))

  do
    s=$[$s+$i]
  done

echo $s

Shell编程之流程控制,shell编程,linux,运维,服务器

语法2:

for 变量 in 值1 值2 值3 .。。。。。

        do

                程序

        done

示例:输出全部参数

#!/bin/bash

for i in $*
  do
    echo "输入变量是$i"
  done

Shell编程之流程控制,shell编程,linux,运维,服务器

 while循环

语法:

while [ 条件表达式 ]

        do

                程序

        done

 示例:求1-100累加和

#!/bin/bash

s=0
i=1

while [ $i -le 100 ]
do
    s=$[$s + $i]
    i=$[$i + 1]
done
echo $s

Shell编程之流程控制,shell编程,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-686653.html

到了这里,关于Shell编程之流程控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux操作系统--shell编程(流程控制)

    1.if 条件判断 ①.单分支判断 if [ 条件判断式 ];then 程序 fi 该语法结构还可以写成: if [ 条件判断式 ] then 程序

    2024年02月11日
    浏览(38)
  • 【运维知识高级篇】34道Shell编程练习题及答案(从基础到实战:基础+计算+判断+循环+控制与数组+实战进阶)

    ​本篇文章几乎涵盖了绝大部分的Shell语法练习,用一个个实战练习,巩固Shell的学习,话不多说,直接开始。 练习1:按照时间生成文件\\\"2018-05-22.log\\\"将每天的磁盘使用状态写入到对应日期的文件 练习2:统计Nginx日志中每个IP的访问量有多少,日志格式如下 练习3:写一个脚本

    2024年02月14日
    浏览(50)
  • shell脚本使用(宿主机windows-服务器-centos)--用于使用shell脚本方式控制docker容器

    需求: 我想要使得windows上编写shell脚本,并且在这个shell脚本在linux中也可用 shell脚本在windows上无法直接运行,但是有WSL这个linux子系统的工具 可以使得shell脚本在主机上执行 视频讲解连接 方式1 方式2

    2024年02月07日
    浏览(39)
  • Linux【实操篇】—— Shell 编程入门、变量、运算符、条件判断、流程控制

    目录 一、Shell 编程入门 1. 认识 Shell 2. Shell 脚本的创建与执行         二、Shell 变量 1. 系统变量和自定义变量 2. 变量的基本规则 3. 设置环境变量 4. 位置参数变量 5. 预定义变量 三、运算符 四、条件判断 五、流程控制 1. if 语句 2. case 语句 3. for 循环 4. while 循环 六、rea

    2024年02月03日
    浏览(31)
  • Linux&Shell--多服务器自动登录连接

    sshpass 是一个命令行工具,用于自动化SSH密码认证。它通常在脚本或自动化任务中使用,其中您需要提供密码以建立SSH连接,而无需用户干预。可以直接将密码作为命令行参数或通过文件提供,以便在建立SSH连接时自动输入密码。这对于需要自动化处理SSH连接的任务非常有用

    2024年02月03日
    浏览(51)
  • 中间件安全:Apache Tomcat 弱口令.(反弹 shell 拿到服务器的最高控制权.)

    Tomcat  是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。 通过弱口令登录后台,部署 war 包 geshell . 中间件安全:Apache Tomcat 弱口令. Apache Tomcat 弱口令: 靶场准备:Web安全:Vulfocus 靶场搭建.(漏

    2024年02月05日
    浏览(51)
  • 【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本

    业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 连上服务器后,在任意位置都可以执行: crontab -e 如果没有进入 编辑cron任务模式 根据提示查看我们的服务器上是否未安装crontab没有则

    2024年02月14日
    浏览(49)
  • Java利用JSCH库远程连接Linux服务器以及操作多条Shell命令

    为了实现 DHCP 服务器的 IP 存储、回收和查询机制,我们需要将服务器中 LXD 容器的网卡 IP 查询出来,并且存储到服务器中的 Mysql 中。所以,下面介绍如何通过 Java 远程连接 Linux 服务器以及操作多条 Shell 命令。 创建 Maven 项目,导入依赖 jsch 实现远程连接,往后我们只需要调

    2024年02月13日
    浏览(41)
  • Linux运维之shell基础

    基本语法: 注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格 ②if 后要有空格 例如,现在写一个if.sh脚本文件 基本语法: 注意事项: (1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 (2)双分号“;;”表示命令序列结束,相当于

    2024年02月02日
    浏览(43)
  • Linux运维之初识shell

    系统定时任务需要用到 crontab 命令,但是使用此命令有一个前提,即需要打开 crond 服务。为了不那么复杂,可以直接使用我之前学的 systemctl 命令重新启动 crond 服务。 语法:``crontab [-e -l -r] ` 选项:-e 编辑crontab定时任务;-l 查询系统crontab任务;-r 删除当前用户的所有cronta

    2023年04月27日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包