書-Linux命令行與shell腳本編程大全(第3版)
●命令行顯示菜單
○select-命令行顯示菜單
命令行顯示菜單
在命令行中輸入就可以顯示資訊。
菜單樣子:
只要三個步驟就可以做出來,完整的程式碼我會放在下面。
第一步(顯示的內容):
把要顯示在視窗的內容&格式寫好。
默認情況下echo只會顯示字符,參數 -e 為了要使用換行符號、制表符號。
\n:換行
\t:一個tab
echo –n:不換行
read –n 1 :只接受1個字元輸入
option:輸入的字元會放在這個變數
第二步(輸入字元的條件判斷(用case)&無限循環):
接下來要取得輸入去判斷,如果輸入0~3以外的就會執行*號這一行,那我不可能只執行一次,所以加一個無限迴圈while,就可以一直輸入,直到輸入0就離開。
while [1] :無限迴圈
menu:呼叫function執行
break:離開程式
clear:清空畫面
read –n 1 line:這一行不是輸入,只要沒有按鍵盤,就不會進行下一步
第三步(設定函數):
在第二步case中,按下0~3其中一個就會呼叫函數執行。
函數的名稱要照case的,裡面的內容可以自訂。
結果:
按下:1
按下:2
按下:3
隨便按
#!bin/bash
function display {
clear
df -k
}
function location {
clear
pwd
}
function name {
clear
who
}
function menu {
echo -e "\t\t\tSys Adamin Menu\n"
echo -e "\t1. Display disk space"
echo -e "\t2. Display location"
echo -e "\t3. Display name"
echo -e "\t0. Exit\n\n"
echo -en "\t\tEnter option:"
read -n 1 option
}
while [ 1 ]
do
menu
case $option in
0)
break;;
1)
display;;
2)
location;;
3)
name;;
*)
clear
echo "sorry , wrong selection";;
esac
echo -en "\n\n\t\t\tHit any key to continue"
read -n 1 line
done
clear
select-命令行顯示菜單
這是一個小工具,可以很輕鬆地完成第1步驟,第2步驟。
菜單樣子:
第一步驟+第二步驟:
基本上跟上面的是類似了,只不過省略了一些。
PS3=“Entry option:” :輸入時所顯示的訊息
select option in “ ”:你要顯示的menu
option:為你輸入的值,存放的是字串所以case比較要比字串。
第三步驟:
function還是要自己定義,就跟上面做的一樣。
#!bin/bash
function display {
clear
df -k
}
function location {
clear
pwd
}
function name {
clear
who
}
PS3="Entry option:"
select option in "Display disk space" "Display location" "Display name" "Exit"
do
case $option in
"Exit")
break;;
"Display disk space")
display;;
"Display location")
location;;
"Display name")
name;;
*)
clear
echo "sorry , wrong selection";;
esac
done
clear