Shell脚本中常用的控制语句

一、for语句

循环定义变量并依次执行
break    当前循环退出
exit     结束脚本循环
continue 提前进入下一次
seq      设定步长

语句命令演示
脚本一:

vim for.sh

这里写图片描述
执行脚本

sh for.sh

这里写图片描述
脚本二:

vim file.sh

这里写图片描述
运行脚本

sh file.sh

这里写图片描述

二、while语句

while 条件
do
done

三、if语句

if
then
elif  又如果
then
。。。
else
fi

脚本一
check_file 判断文件是否存在,判断是什么类型的文件,执行脚本命令后面不加字符就错误

vim if.sh

这里写图片描述
执行脚本

sh if.sh

这里写图片描述
脚本二:
建立用户
要求:
1、文件数量不对报错
2、文件不存在
3、文件行数差异
4、用户存在显示用户存在,但是不改变此用户密码
5、当用户不存在建立用户并设定相应密码

vim user_create.sh 

这里写图片描述
执行脚本

sh user_create.sh userfile passfile 后面跟着创建用户信息文件和密码文件

这里写图片描述
脚本三:
创建脚本,输入cat变为dog,输入dog变为cat,都不输入即报错

vim test.sh

这里写图片描述
执行脚本
发现用if语句执行该命令会“记忆执行“
这里写图片描述
四、case语句

case
word1 )
action1
;;
word2)
action2
;;
........
*)
action_last
esac

脚本一:
创建脚本,输入cat变为dog,输入dog变为cat,都不输入即报错

vim test1.sh

这里写图片描述
执行脚本

sh test1.sh

这里写图片描述
五、expect

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

脚本:
免密连接其他主机

vim auto_connect.exp

这里写图片描述
执行脚本

expect auto_connect.exp 172.25.254.208 redhat    后面跟着连接的主机和密码

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值