Shell控制结构
2017-03-15 19:49
99 查看
shell控制结构
if
语句格式:#简单的if语句 if condition then statements fi #带有else的if语句 if condition then statements else statements fi #带有elif也就是else if的if语句 if condition then statements elif condition then statements else statements fi
如果你想简化,不写那么些行,可以把
then放到
if或
elif里:
if condition;then statements elif condition;then statements fi
下面是一个例子:
#!/bin/bash echo "你叫小李吗?敲Y是,敲N不是" read answer if [ "$answer" = "Y" ];then echo "是啊,我是小李" elif [ "$answer" = "N" ];then echo "不是,你找错人了" fi sleep 2 exit 0
注意:
因为
answer可能为空,所以需要用双引号括起,否则如果
answer是空,会解析成
if [ = "Y"],结果bash会报test出现语法错误。
[ ]等价于
test,也就是说
[ "$answer" = "Y" ]等价于
test "$answer" = "Y"
for
语句格式:#python里的链表,in右边是链表 for item in item1 item2 item3[...] do #下面的语句可以引用item变量 statements done
举个例子
for name in "小王" "小李" "小张" do echo $name "来了,快跑!" done
#该脚本会找出当前目录所有后缀为sh的文件,并显示数量 #count用于计数 count=0 for file in $(ls *.sh);do echo $file count=$(($count+1)) done echo $count
三步当作两步走
cd /var/log
ls -il
可以并作一个语句:
cd /var/log;ls -il
所以
for item in item1 [...];do
....
while
语句格式:while condition do statments done
举个例子
# 1到100的所有自然数的和 total=0 num=1 while [ $num -le 100 ];do total=$(($total+$num)) num=$(($num+1)) done
提示:
$(())用于简单的数学算法,优于使用expr,因为expr会启用另一个shell,效率低。
until
类似于while,只不过当条件不成立时才进入循环,条件成立时终止循环。举个栗子:
#当有simon用户登陆时,才打铃、提示欢迎信息 until who|grep 'simon'>/dev/null;do sleep 60#60秒检查一次 done echo \\a#打铃 echo "哈,欢迎你"#欢迎信息
相关文章推荐
- shell控制结构
- shell 笔记 控制结构
- shell脚本编程之循环控制结构
- 13_Shell语言―――语言控制结构之for循环语句
- Shell脚本结构流程控制
- 从九九乘法口决脚本,比较awk、bash/ksh和Perl的循环控制结构[附awk\shell\Perl脚本]
- shell脚本工具之控制结构
- shell脚本编程之选择控制结构 推荐
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- Shell的控制结构l列表
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- SHELL脚本中常用的控制结构
- Shell控制结构--使用break和continue控制循环
- shell脚本编程之循环控制结构
- 第四章 Shell的控制结构
- 小苏的Shell编程笔记之五--Shell的控制结构
- Shell控制结构--循环控制
- shell控制结构
- shell学习笔记之控制结构(三)
- shell学习笔记:控制结构