shell的程序结构(循环,case)

read -p “注释”:变量   该语句可以使得在屏幕上输出注释,同时让用户交互的输入数据,并对语句指定的变量进行赋值。

if语句

if [ 条件表达式 ]

then

      command1

elif [ 条件表达式 ]     #其中elif表示else if的意思

then

else

     command2

fi

当我们使用systemctl查看服务的开启状态的时候,若服务开启则变量?的值为0,若服务关闭,则变量?的值不为0.

case分支语句

case 字符串 in

字符串1)   //每个匹配模式的右边都要加上一个”)“

        commmand1

          ;;  //两个分号代表该匹配模式的结尾

字符串2)

         command2

          ;;

 *) //代表若上述的所有都不匹配,则使用该匹配模式

         command3

esac 

case 字符串 in

字符串1|字符串2|字符串3.....字符串n)

command1

;;

*)

command2

esac 

上面这种表达形式表示匹配多个字符串之后执行command1,匹配其他的执行最后一个

其实case分支语句的主要用法,通过比对字符串,来决定命令的执行

for循环

for 变量名 in 取值列表

do

command1,2,3.。。。。

done

取值列表的表现形式:

(1) {1..5}:代表取值从取1到5

(2) {1,2,3,4}代表从1234中进行取值

(3) $(seq 参数1,参数2,参数3):使用$(命令)的格式将seq的执行结果作为取值列表

用法:seq [选项]... 尾数比如echo $(seq 10),那么输出的结果就是1到10
或:seq [选项]... 首数 尾数 比如echo $(seq 2 10)那么输出的结果就是2到10
或:seq [选项]... 首数 增量 尾数 比如echo $(seq 1 2 10),那么输出的结果就是1,3,5,7,9

(4) $(ls path):将ls某目录的结果作为取值列表,由此可以对某目录中名字无规律的文件进行操作。

while循环

while 条件表达式

do

    command1,2.。。。

done

while read line   //对某个文件的每一行进行读取,并使用命令进行处理

do 

   每一行的内容可用$line进行表示

    command1,2.。。。

done < 指定文件

cut命令(文本分割工具)

-d  'xx' -f1  :指定分隔符为xx,相当于是批处理中的delims指定分割符号。其中-f1表示我要取出以xx为分隔符的第一块内容。

-c 1-2:提取第一到第二的字符

-c -2:提取前两个字符

-c 5-:提取末尾五个字符

循环控制语句

break:跳出当前循环体

continue:跳出本次循环,且循环后面的语句忽略

其他语句

sleep number :这个sleep语句跟上对应的数字之后就可以使得该脚本按照指定数字休眠对应的秒数

shift:使用该命令之后,脚本后面跟上的参数,就往左移一位

比如脚本后面跟上的参数是1,2,3,脚本中对应的接收变量为$1,$2,$3

则在执行shift命令之后,$1对应的参数就变为2,$2的对应参数就变为3,$3就没有对应的参数了

exit退出脚本程序,执行该命令,代表是非正常退出,则我们输出变量?的时候,其值就不为0

exit number:非正常退出程序,同时还指定变量?的值,我们可以在某些程序端上写上该语句,同时exit后面的number与对应的行数挂钩,这样我们就可以直到exit退出的时候,执行到了哪一句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mllllk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值