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

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

你可能感兴趣的:(Shell学习笔记(11)-流程控制之select、until语句)