shell中的语句及用法

一、for语句用法

1.1 for语句的格式

for NUM in 1 2 3
for NUM in {1..3}
for NUM in `seq 1 3` 或者 for NUM in `seq 1 2 10`
do
done

1.2 for语句的示例

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

在这里插入图片描述

二、while语句和until语句用法

2.1 while语句的格式

while 条件(只有条件为真&&时才执行,条件为假||不作任何处理)
do
done

2.2 while/until语句的示例

在这里插入图片描述
until只有为假才会执行?
在这里插入图片描述

三、if语句的用法

3.1 if 语句的格式

if [ "$1" = "start"]
then
systemctl start $2
elif [ "$1" = "stop"]
then
systemctl stop $2
.......
else
echo "error:please input start or stop after scripts!"
fi

(1)在前面的学习中,我们在条件判断时,用的都是test语句,而test语句用的条件判断比较繁琐,而我们可以用一条if语句将多个test语句的判断整合起来,if语句也是进行条件判断。if语句的判断方式是从上到下依次判断
(2)写一个if语句的简单例子。
fi表示语句结束
vim chen.sh 编写一个脚本并执行
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

(3)拓展一:
问题:编写一个脚本,执行脚本,提示输入文件名字,并对文件类型进行判断(目录、链接、文件),并且判断文件是否存在,当不符合所有的条件时,提示重新输入文件名称,直到我们输入exit,才能退出。(无论exit为大写还是小写 ,由于是循环所以无法使用tr),我们不但可以利用循环语句,也可以利用函数(当重复使用语句时,我们利用函数)
编写脚本并执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将脚本优化/利用函数所写:

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

(4)拓展二:
问题:根据输入的不同,提示也不同
-a 建立文件/-d 删除文件/-p 备份/如果这三个条件都不满足,则报错
编辑脚本并执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、case语句

if语句是数序机制,他的条件执行一条一条的执行,条件在前的会优先执行,条件靠后的会“吃亏”,这种的运行效率低下。
所以引出case语句
case语句是直接找到目标条件,直接执行
case是类比的机制,将条件并发的执行,由于case已经将内容预加载过了
类似与点名机制

case 语句的格式
case $1 in 
			条件1)
			echo  yyyy
			;;
			条件2)
			echo  xxx
esac

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

这样的话,我们可以直接将上面if语句的拓展二中的参数条件用case表达出来。
修改后的脚本为:
在这里插入图片描述

测试修改成功与否
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值