Linux中shell常用的基本语句
一、if语句
格式
if
then
elif
then
....
else
fi
例子:编写一个判断文件类型的脚本
也可以用之前的函数,简化脚本,如下图
二、for语句
for in
do
done
1)控制语句
exit 脚本直接退出
break 退出当前循环;即退出for后面的还要执行
continue 提前结束循环内部的命令,但不终止循环
2)例子:找出1~10能被3整除的数is ok,不能的直接输出
也可以使用控制语句
三、while语句
格式
while
do
done
测试:
1)输入一个词,当输入exit退出
2)显示系统负载,无论是pts/0或者pts/1
四、case语句
格式
case
word1)
action1
;;
word2)
action2
;;
....
action_last
esac
举例:输入cat输出dog;输入dog输出cat;输入其他输出错误
先用if语句来做
下面用case语句来实现
五、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)现在注释掉一个问题,再次执行查看
例子2:编写ssh_auto,exp自动ssh连接脚本