select 表达式是一种bash的扩展应用,尤其擅长于交互式使用。用户可以从一组不同的值中进行选择。

 

1.使用形式(语法)

Select var in varaiblelist; do

        Case $var in

             “One situation”)

                  Script sentences

                  ;;

 

             “second situation”)

             …

             "n situation")

             Script sentences

               break

               ;;

      Esac

done

 

2.例select.sh

LISTS="$(ls /home/teachers/assistant/From_2011CodeStyle) exit"

echo "----------------------------------------------------------"

select ELE in $LISTS; do

        case $ELE in

                "")

                        echo "Wrong choice"

                        ;;

                "exit")

                        echo "You have exit"

                        exit 1

                        ;;

                *)

                        LIST=$ELE

                        break

                        ;;

        esac

done

echo "---------------------------------------------------"

echo $ELE

 

3.修改权限

chmod +x select.sh

然后运行脚本(./select.sh)得到结果如下:

----------------------------------------------------------

1) \                       6) DigHisAncestralGrave

2) 2012_09_MathMode_Build  7) Html_dir

3) 2012StartFile_Learning  8) Sowftware

4) 2012Sumer_BlackBerry    9) exit

5) DataFile

#? 2

---------------------------------------------------

2012_09_MathMode_Build

 

4.解析select.sh脚本

运行selec.sh脚本之后就会出现3下的交互界面。前面生成的标号就是供选择的选项,在3下的#?(select的默认提示符,可由PS3重新制定此提示符)输入2后就选中了列表中的第二项。

case内选项解释:双引号(“”)表示在shell界面输入的任意字符或者字符串时的情形

                                "exit"表示当选择标号9的情形,所选择的标号就代表标号后跟的字符串。

                                星号(*)表示标点,空白符,或者其它的字符(这里放在双引号之后就可以得到输入的是数字这个结果)

 

 

Logo

更多推荐