#每日Linux小练习#01 select命令的使用

总看总忘,Linux Shell编程总是无法提高,那么就来个每日练习吧。

今天练习一下select命令,实现一个menu功能

OK,上代码。

#!/bin/bash

PS3='Input option(1-4):'
stack="Display Calculate Sort Quit"
select choice in $stack;do
    if [ "$choice" = "Display" ];then
        read -p "Input what you want to display[name/path/shell/cal]" info
        if [ "$info" = "name" ];then
            echo "$USER"
        elif [ "$info" = "path" ];then
            echo "$HOME"
        elif [ "$info" = "shell" ];then
            echo "$SHELL"
        elif [ "$info" = "cal" ];then
            cal 2015
        fi
    elif [ "$choice" = "Calculate" ];then
        echo "Calculate"
    elif [ "$choice" = "Sort" ];then
        echo "Sort"
    elif [ "$choice" = "Quit" ];then
        echo "Quit"
    fi
done

运行结果:

要点分析:

1、PS3是干嘛的?全文并没有出现PS3的使用

在文章http://blog.csdn.net/misskissc/article/details/8144283中发现了答案。

PS3作为select语句的shell界面提示符,提示符为PS3的值(赋予的字符串),更换默认的提示符”#?”


测试一下,如果没有PS3这一句,会什么现象。

2、select的功能

   (1)、自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单)
   (2)、自动read输入选择 (没有 read指令,自动输入)
   (3)、赋值给变量  (没有赋值指令,自动输入数字后,赋值字符串给变量)

3、if判断中注意空格

if [ "$choice" = "Display" ]

在[后面, = 左右两侧, ] 前面都是有空格的哦

原文地址:https://www.cnblogs.com/wuqi/p/4691174.html