shell 脚本 的 基本知识 (IV)

shell中常用的控制语句及脚本的运行控制

一、for语句

for in

do

done

1)控制语句

exit 脚本直接退出

break 退出当前循环;即退出for后面的还要执行

continue 提前结束循环内部的命令,但不终止循环

这里写图片描述
这里写图片描述

【{} 和 `` 的区别】
***`seq 1 2 5`*** **可以设计步长(2为步长),也可以引用变量** 

这里写图片描述
这里写图片描述
这里写图片描述

***{1..5}*** **必须是可变长字符**

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

<一、测试:显示所有开机的主机>

这里写图片描述

这里的主机必须得在同一网段中,即可测试。

<二、数据库的库都以文件显示并保存在/mnt/mysql_backup>

[root@localhost mnt]# yum install mariadb-server -y

准备工作,建立好westos库和linux表
这里写图片描述
这里写图片描述
查看
这里写图片描述
开始写脚本测试
这里写图片描述
这里写图片描述

二、while语句

格式

while

do

done

  显示当前时间在一行
[root@localhost mnt]# vim whlie.sh
[root@localhost mnt]# cat whlie.sh
#!/bin/bash
while true
do
        echo -n `uptime`
        echo -ne "\r\r"
        sleep 1
done

这里写图片描述

传输email
[root@localhost mnt]# mail
No mail for root
[root@localhost mnt]# echo hello world | mail -s warning root

这里写图片描述

<三、当/下的容量达到80%,发警报email给root>

[root@localhost mnt]# vim mail_file.sh
[root@localhost mnt]# df -H
Filesystem          Size  Used Avail Use% Mounted on
/dev/vda1            11G  3.5G  7.4G  32% /
devtmpfs            481M     0  481M   0% /dev
tmpfs               497M   87k  497M   1% /dev/shm
tmpfs               497M   14M  484M   3% /run
tmpfs               497M     0  497M   0% /sys/fs/cgroup
/dev/mapper/vg0-vo  496M  2.5M  463M   1% /home
[root@localhost mnt]# dd if=/dev/zero of=/bigfile bs=1M count=5000
##截取命令保证负载超过80%来进行实验查看
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 59.6522 s, 87.9 MB/s
[root@localhost mnt]# df -H   ##查看负载已经超过80%
Filesystem          Size  Used Avail Use% Mounted on
/dev/vda1            11G  8.7G  2.1G  81% /
devtmpfs            481M     0  481M   0% /dev
tmpfs               497M   87k  497M   1% /dev/shm
tmpfs               497M   14M  484M   3% /run
tmpfs               497M     0  497M   0% /sys/fs/cgroup
/dev/mapper/vg0-vo  496M  2.5M  463M   1% /home
[root@localhost mnt]# sh mail_file.sh
Your / will full !!
Your / will full !!
^C

这里写图片描述
查看邮件每隔3秒就会以root用户身份发送一份邮件
这里写图片描述

三、if语句

格式

if

then

elif

then

….

else

fi

<四、测试:编写一个判断文件类型的脚本>

这里写图片描述
这里写图片描述

这里写图片描述

也可以用之前的函数,简化脚本,如下图

这里写图片描述
这里写图片描述
这里写图片描述

四、case语句

格式

case

word1)

action1

;;

word2)

action2

;;

….

action_last

esac

<五、输入 cat 显示 dog ;输入 dog 显示 cat >

先用if语句来做

这里写图片描述
这里写图片描述

下面用case语句来实现

这里写图片描述
这里写图片描述

if语句与case语句的区别:

if语句中的条件判断是从上到下顺序依次判断 case语句中的条件判断是同步的;

字符匹配常用case语句,因为if语句对于越置后的条件判断越慢,这样效率很低.

五、expect语句

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

安装 yum install expect ,编写问题,脚本编写,自动回答脚本,幻术不一样;

spawn***是expect中的监控程序,其运行后会监控命令提出的交互问题;*

send 发送问题答案给交互命令

exp_continue 表示当问题不存在时继续回答下面的问题

expect eof 表示问题回答完毕退出expect环境

interact 表示问题回答完毕留在交互界面

set NAME [ lindex $argv n ] 定义变量

1)先编写一个问题脚本,提出四个问题;

这里写图片描述

2)编写expect 自动交互回答脚本;

这里写图片描述

3)执行expect查看;

这里写图片描述

4)现在注释掉一个问题,再次执行查看;

这里写图片描述
这里写图片描述

<六、测试:自动ssh连接脚本>

这里写图片描述
这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
04-26
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值