shell流程控制语句脚本编程解析

 更新时间:2023年09月18日 09:32:08   作者:bug生产者  
这篇文章主要为大家介绍了shell流程控制语句脚本编程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

流程控制

if条件判断

可以使用if来实现多路跳转,条件通常使用test命令

#if语句的语法
if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

如果then需要和if放在同一行的话,使用;分隔

fi用来结束if语句,相当于endif

<!-- more -->

#变量赋值等号两端没有空格
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

 "[" 符号前后、 "]"前边都要有空格

case条件控制

匹配到模式则执行对应的命令,执行结束后跳出case语句

#case语句的语法
case 值 in
模式1)
    command1
    ;;
模式2)
    commandN
    ;;
esac
echo "input your name:"
read name
case $name in
    zhanghe) echo "你是管理员,权限最大";;
    zhangsan) echo "你是谁呀,张三吗";;
    *) echo "你我可不认识";;
esac

  • 取值后边一定要用in
  • 变量的值会匹配)符号前面的字符串
  • case支持通配符

    • *: 任意长度任意字符
    • ?: 任意单个字符
    • []: 指定范围内的任意单个字符
    • a|b: a或b
  • 如果匹配的话,会执行该case下的语句,直到发现;;时停止
  • 如果没有匹配,就会执行最后*)这一行的内容
  • 如果没有匹配到不想执行任何内容的话,可以不写*)

 一定注意;;如果不加;;的话,执行会出错的

以上就是shell流程控制语句脚本编程解析的详细内容,更多关于shell流程控制的资料请关注脚本之家其它相关文章!

相关文章

  • Linux中shell脚本的jq命令用法详解

    Linux中shell脚本的jq命令用法详解

    这篇文章主要介绍了Linux中shell脚本的jq命令用法详解, jq是一个轻量级的命令行JSON处理工具,用于解析、过滤、修改和操作JSON数据,它提供了一种简洁和灵活的方式来处理JSON数据,可以与其他命令行工具结合使用,需要的朋友可以参考下
    2023-07-07
  • linux shell之通过标识测试文件系统属性的方法示例

    linux shell之通过标识测试文件系统属性的方法示例

    今天小编就为大家分享一篇关于linux shell之通过标识测试文件系统属性的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • linux sed命令详解(推荐)

    linux sed命令详解(推荐)

    sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。接下来通过本文给大家详细介绍linux sed命令相关知识,感兴趣的朋友一起学习吧
    2017-04-04
  • linux文本过滤grep基础命令介绍(5)

    linux文本过滤grep基础命令介绍(5)

    这篇文章主要为大家详细介绍了linux文本过滤grep基础命令,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Linux命令行循环执行shell命令

    Linux命令行循环执行shell命令

    这篇文章主要介绍了Linux命令行,循环执行shell命令的相关知识,主要包括死循环,普通计数循环,以及Linux shell循环命令 while死循环的用法,需要的朋友可以参考下
    2023-01-01
  • 详解Windows与Linux共享文件夹互相访问

    详解Windows与Linux共享文件夹互相访问

    这篇文章主要介绍了 详解Windows与Linux共享文件夹互相访问的相关资料,需要的朋友可以参考下
    2017-03-03
  • 详解Shell编程之if语句实战(小结)

    详解Shell编程之if语句实战(小结)

    本篇文章主要介绍了详解Shell编程之if语句实战(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 把文件复制N份的2个Shell脚本代码

    把文件复制N份的2个Shell脚本代码

    这篇文章主要介绍了把文件复制N份的2个Shell脚本代码,一般用在需要大量文件测试时使用,需要的朋友可以参考下
    2014-07-07
  • Linux进程通信(IPC)方式简介

    Linux进程通信(IPC)方式简介

    linux下进程间通信的几种主要方式:管道(pipe)和有名管道(FIFO)、信号(signal)、消息队列、共享内存(shared memory)、信号量(semaphore)、套接字(socket),本文对这些做简单介绍
    2013-12-12
  • Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    下面小编就为大家带来一篇Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论