Shell编程基础-02-分支和循环

Shell基础上篇,讲了基础命令了运算符,欢迎观看

四、分支结构

1、if分支

if [ EXPR1 ]
then

elif [ EXPR2 ]
then

fi

在这里插入图片描述

2、case分支

*case word in
WORD1) …
;;
WORD2) …
;;
) …
;;
esac

在这里插入图片描述

五、循环结构

引用变量然后加上括号,就变成了了数组。
在这里插入图片描述

1、while循环

while [ EXPR ]
do

done

在这里插入图片描述

2、until循环

可以理解为:直到满足xxx条件才结束
until [ EXPR ]
do

done

在这里插入图片描述

3、select

类似Java里的switch case,可以用来写菜单
select VAR in (VAR1 … VARn)
do

done

在这里插入图片描述

4、for in序列

seq 文件目录 /*
for VAR in (VAR1,… VARn)
do

done

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

5、break和continue使用小案例

在这里插入图片描述

自运算(+= /= -= *=)不加美元符号。

6.1案例:水仙花

在这里插入图片描述

在这里插入图片描述

6.2案例:九九乘法表

在这里插入图片描述
在这里插入图片描述

6.3测试:双引号和单引导对转义符的影响

双引号里转义符没用,单引号里 没 有 用 。 案 例 e c h o − n " 没有用。 案例echo -n " echon"j* i = i= i=((i*j))"$’\t’
\t的使用
在这里插入图片描述

六、日期

1.获取系统当前时间,不同的格式

(1)DATE = date + “%Y-%m-%d %H:%M:%S” #2020-11-24 20:11:57
最外层要套上倒引号``
(2)DATE = date + “%Y-%m-%d %X” #2020-11-24 08:11:57 PM
(3)DATETIME = date +%S #date日期至今多少秒
在这里插入图片描述

2.日期格式化:

date -d date +”FORMAT”
在这里插入图片描述

七、代替

1. 命令代替

(1)OUTPUT=command
#先执行命令,等到命令执行结束,将结果赋值给OUTPUT后,才会执行之后的

2、变量

(1)${var:-value} 如果var未设值或值为空,表达式的值为value,var的值不变
在这里插入图片描述

A是未初始化的值,执行时输出的是value值,但A本身并未被赋值。如果给A赋值了,则var不为空,就输出var而不管value
(2)${var:=value} 如果var未设值或值为空,表达式的值为value,var的值为value
在这里插入图片描述

和-value的不同之处在于,这里面的=value是一种条件赋值,如果var为空,则给var赋值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值