您的位置:首页 > 运维架构 > Shell

Shell学习笔记(11)-流程控制之select、until语句

2012-11-15 13:37 656 查看
until的语法

语法规则:

until 条件测试

do

命令区域

done


示例1:

#! /bin/Bash

declare -i i=1

declare -i sum=0

until ((i>10))

do

let sum+=i

let ++i

done

until无穷循环

until ((0))

do

echo 'Bash forever.'

done

until false

do

echo 'Bash forever.'

done

select命令

语法规则:

select 选项变量 in 串行

do

命令区域

done


select命令建立一个列表。列表的选项,即串行中的各个字段。列表提示符号由Bash的内置变量PS3来定义,默认值是#?。只要改变PS3的值,用户可自定义提示符号。select会给各个选项一个编号,编号由1开始递增。当使用者键入编号,选择其中某一选项时,select会给各个选项一个编号,编号由1开始递增。当使用者编入编号,选择其中某一选项时,该选项的内容就设置给选项变量,而键入的变量值则放入REPLY变量中。使用者每键入一次编号,就执行一次命令区域。

示例1:

#! /bin/bash

PS3='请选择:' //修改PS3的内容,自定义提示符号

select f in * //由目前的工作目录,读取所有的文件(即通配符*的用意),以各个文件名为选项,建立列表

do

echo "你键入的编号是$REPLY,选择的文件是:$f"

done


执行结果如下:

1) build.sh 12) lottery.jsp

2) clear_log_all.sh 13) lotteryxml.php

3) fn.sh 14) OracleLog.properties

4) httpd-2.2.17 15) restart.sh

5) jd-lottery 16) stack2.txt

6) jd-lotteryman-web.war 17) stack.txt

7) jd-lottery-web.war 18) stac.txt

8) jd-lottery.zip 19) stop.sh

9) l 20) test

10) logs 21) tmp

11) logs_man 22) work

请选择:1

你键入的编号是1,选择的文件是:build.sh

请选择:

break命令可以阻断循环

#! /bin/Bash

PS3='请选择: '

menu="/ /root /etc /home /usr/local /var/log"

select f in $menu

do

echo "你键入的编号是$REPLY,选择的目录是: $f"

break

done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: