一、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 后面跟着连接的主机和密码