Shell:shell中常用的语句(for,while,if,case,expect)

一.for循环

seq命令:用于产生某个数到另外一个数之间的所有整数

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

2.for语句示例

  • 编辑脚本,实现计数
[root@shell mnt]# vim test.sh

脚本编辑内容如下:
在这里插入图片描述
检测如下:
在这里插入图片描述

[root@shell mnt]# vim test1.sh

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

  • 编写循环脚本,可浏览目录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 用seq命令实现计数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    练习:
    (1)编辑一个文件,检测该文件下的ip,如果网卡开着的话显示up,如果关闭的话显示down
    在这里插入图片描述
    脚本编辑内容为:
    在这里插入图片描述
    检测如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (2)写一个脚本实现30s的倒计时
    在这里插入图片描述
    脚本内容:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二.while循环

1.while语句

while 条件
do
done

2.while语句示例
until表示条件为假的时候,while表示条件为真的侍候
(1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习:
(1)编写一个脚本,用while语句实现用户的建立和删除
在这里插入图片描述
脚本编辑如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
验证如下:
在这里插入图片描述

三.if判定语句

1.if语句

if
then
elif
then

else
fi

2.if语句示例

(1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)
判定输入的是否为一个文件,是文件的话输出文件存在,不是文件的话输出文件不存在.

[root@shell mnt]# vim check_file.sh

在这里插入图片描述
在这里插入图片描述
(3)
实现1分10秒的倒计时
在这里插入图片描述
脚本编辑内容如下:
在这里插入图片描述
验证如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:clear表示清屏;sleep 1表示每隔1s计时1次
(4)

四.case语句

1.case语句

case
word1 )
action1
;;
word2 )
action2
;;

*)
action_list
esac

2.case语句示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五.expect语句

1.expect语句

expect语句是自动应答命令用于交互式命令的自动执行

sapwn是expect中的监控程序,其运行后会监控命令提出的交互问题
send发送问题答案给交互命令
“\r”表示回车
exp_continue标示当前问题不存在时继续回答下面的问题
expect eof表示当问题回答完毕时退出expect环境
interact标示问题回答完毕留在交互界面
set NAME [ index $argv n ]定义变量

2.expect的使用及示例
(1)expect的使用

  • expect不同于脚本,使用前要安装该软件
    在这里插入图片描述
    在这里插入图片描述
    (2)expect的示例

编写脚本 :
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:由于执行脚本时如果有一个问题不回答的话,则会显示该问题的答案为空但是还是会显示,但是如果用expect应答的话,如果不给问题的答案则会自动跳过,显示的时候也不会显示该问题,验证如下:

查看expect支持环境:
在这里插入图片描述
编写expect自动应答工具脚本:
在这里插入图片描述
验证:
在这里插入图片描述

  • 编辑脚本连接ip

shell和expect时不能同时用的但是用到输出重定向可以实现shell与expect的共用

在这里插入图片描述
脚本编辑内容如下:
在这里插入图片描述
验证如下:
在这里插入图片描述

  • 编辑脚本检测ip为172.25.254.1到172.25.254.5的主机是否开着,如果开着则将结果定向到文件中
    在这里插入图片描述

六.脚本中的语句控制器

exit n ##脚本退出,退出值为n
在这里插入图片描述
在这里插入图片描述
注:exit 0是代码正常时候的退出值,$?是显示上一条命令的输出结果

continue : 提前结束循环内部的命令,但不终止循环
在这里插入图片描述
在这里插入图片描述
break:退出当前循环
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值