linux编程语言shell,SHELL中的语句详解(中)

for语句

pdksh/bash下for语句的第一种形式是:

for curvar in list

do

statements

done

这个语句的意思是,对于list中的没一个值,执行语句statements。对于每一次循环,list中的当前值被赋值给curvar。list可以是包含一系列取值的变量,也可以是空格分开的取值。

pdksh/bash下for语句的第二种形式是:

for curvar

do

statements

done

这个for语句对于传递给shell程序的每一个位置参数,执行statements语句。每次循环时,位置参数的当前值被赋值给变量curvar。这种形式也可以写成:

for curvar in $

do

statements

done

在tcsh中,for语句被叫做foreach,形式如下:

foreach curvar (list)

statements

end

这个for语句,对于list中的每一个值执行一次statements语句。每次循环时,list的当前值复制给curvar。

while语句

while语句在指定条件满足的情况下执行一系列的命令,直到该条件不再满足。

pdksh/bash下,while控制语句的形式为:while expression

do

statements

done

在tcsh下,while语句的形式为:while (expression)

statements

end

until语句

until语句用来执行一系列的命令,直到指定的条件满足。

在pdksh/bash下,until语句的形式为:until expression

do

statements

done

可以看到,until语句和while语句的形式非常相似,但是逻辑是完全相反的。在while循环中,执行命令直到表达式为假;而在until语句中,循环直到表达式为真。这个区别最终要的地方在于while循环可能被执行0次或任意多次;但是until会被执行1次或任意多次,至少会被执行一次。

tcsh不支持until循环语句。

repeat语句(tcsh)

repeat语句是用来执行某一条命令固定数目次。例如,你想输出/打印连接号(-)80次,每行一个连接号,可使用以下语句:

repeat 80 echo '-'

select语句(pdksh)

select语句是当你写shell程序期望用户在线输入时用来生成一个菜单列表,select语句的形式为:select item in itemlist

do

statements

done

其中itemlist是可选项。如果没有提供itemlist时,对于每一个item系统执行一次循环。当提供itemlist时,对于itemlist的每一项进行循环,在循环过程中,将itemlist的当前值赋值给item。例如你想要提供给用户一个菜单选项,选择Continue或者Finish,你可以使用以下shell程序来实现。#!/bin/ksh

select item in Continue Finish

do

if [ item = “Finish” ]; then

break

fi

done

当这个select程序被执行时,系统会显示一个数字菜单给用户——在这里例子中,1代表Continue,2代表Finish。如果用户选择1,变量item将会获得一个值Continue;如果用户选择2,变量item将会获得一个值Finish,此时if语句执行,循环结束。0b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值