1.for语句
for NAME in `seq1 10 seq只能从小到大,{ }可以从大到小。
do
echo $NAME
done
脚本如下:
执行如下;
隔行显示
2.whlie语句
while true
do
done
脚本如下:
输入什么就输出什么,直到输入exit为止
执行如下:
示例一个10秒倒计时
脚本如下:
-n 后面为最后显示格式
sleep 1 显示间隔一秒
执行如下:
3.if语句
条件判断,要做多次判断,
if
then
elif
else
fi
示例:
if
[ “$1” -gt “0” -a “$1” -le “10”] 如果大于0小与10
then
echo small!! 显示small
elif
[ “$1” -gt “10” -a “$1” -le “20”] 如果大于10小与20
then
echo high!! 显示high
else
echo error:$1 is less then zero 其他的显示内容
fi
脚本如下:
执行如下:
4case语句
条件匹配,只做一次匹配
case
esac
示例:
脚本如下:
当输入westos显示linux
输入linux显示westos
都不是则显示error
5.expect
是自动应答命令用于交互式命令的自动执行
spawn 运行会监控命令提出的交互问题
send 发送问题答案给交互命令
“\r” 表示回车
exp_continue 表示当问题不存在时继续回答下面问题
expect eof 表示问题回答完毕后退出expect环境
inteeract 表示问题回答完毕留在交互界面
set NAME [ lindex $argv 0] 定义变量,表示后面跟的第一个变量
示例:
脚本如下:
vim exx.sh 编辑问题
chmod +x exx.sh 给一个执行权限
执行如下: