我正在尋找命名我的選單選項,它目前看起來像這樣 -
1) Option 1
2) Option 2
3) Option 3
4) Quit
我嘗試通過編輯以下內容來添加選單描述,但是當您輸入選單編號時它不會回傳任何結果
options=("Option 1 - Search with no date filter. SLOW!!" "Option 2 - Search via year" "Option 3 - Full date search" "Quit")
我希望它看起來像這樣 -
1) Option 1 - Search with no date filter. SLOW!!
2) Option 2 - Search via year
3) Option 3 - Full date search
4) Quit
完整腳本 -
#!/bin/bash
echo ""
PS3='Please enter your choice: '
echo ""
#options=("Option 1 - Search with no date filter. SLOW!!" "Option 2 - Search via year" "Option 3 - Full date search" "Quit")
options=("Option 1" "Option 2" "Option 3" "Quit")
echo ""
select opt in "${options[@]}"
do
case $opt in
"Option 1")
echo ""
echo Please enter the telephone number?
echo ""
read vartel
echo ""
grep -e $vartel /root/hourly/cdr_export-hourly-*.csv
echo ""
;;
"Option 2")
echo ""
echo Please enter the telephone number?
echo ""
read vartel
echo ""
echo Please enter the last two year digits?
echo ""
read varyear
echo ""
grep -e $vartel /root/hourly/cdr_export-hourly-$varyear*.csv
echo ""
;;
"Option 3")
echo ""
echo Please enter the telephone number?
echo ""
read vartel
echo ""
echo Please enter the last two year digits?
echo ""
read varyear
echo ""
echo Please enter the month?
echo ""
read varmonth
echo ""
echo Please enter the day?
echo ""
read varday
echo ""
grep -e $vartel /root/hourly/cdr_export-hourly-$varyear-$varmonth-$varday*.csv
echo ""
;;
"Quit")
break
;;
*) echo "invalid option $REPLY";;
esac
done
uj5u.com熱心網友回復:
怎么樣:
case "$opt" in
"Option 1"*)
...
;;
"Option 2"*)
...
;;
"Quit")
break
;;
*)
...
;;
esac
uj5u.com熱心網友回復:
您需要修改每個中的模式字串,case如下所示
case $opt in
"Option 1 - Search with no date filter. SLOW!!")
::: :::
"Option 2 - Search via year")
::: :::
"Option 3 - Full date search")
下面是完整腳本的版本。
#!/bin/bash
echo ""
PS3='Please enter your choice: '
echo ""
options=("Option 1 - Search with no date filter. SLOW!!" "Option 2 - Search via year" "Option 3 - Full date search" "Quit")
#options=("Option 1" "Option 2" "Option 3" "Quit")
echo ""
select opt in "${options[@]}"
do
case $opt in
"Option 1 - Search with no date filter. SLOW!!")
echo ""
echo Please enter the telephone number?
echo ""
read vartel
echo ""
grep -e $vartel /root/hourly/cdr_export-hourly-*.csv
echo ""
;;
"Option 2 - Search via year")
echo ""
echo Please enter the telephone number?
echo ""
read vartel
echo ""
echo Please enter the last two year digits?
echo ""
read varyear
echo ""
grep -e $vartel /root/hourly/cdr_export-hourly-$varyear*.csv
echo ""
;;
"Option 3 - Full date search")
echo ""
echo Please enter the telephone number?
echo ""
read vartel
echo ""
echo Please enter the last two year digits?
echo ""
read varyear
echo ""
echo Please enter the month?
echo ""
read varmonth
echo ""
echo Please enter the day?
echo ""
read varday
echo ""
grep -e $vartel /root/hourly/cdr_export-hourly-$varyear-$varmonth-$varday*.csv
echo ""
;;
"Quit")
break
;;
*) echo "invalid option $REPLY";;
esac
done
輸出:
% ./shell.sh
1) Option 1 - Search with no date filter. SLOW!!
2) Option 2 - Search via year
3) Option 3 - Full date search
4) Quit
Please enter your choice: 3
Please enter the telephone number?
1234567890
Please enter the last two year digits?
98
Please enter the month?
12
Please enter the day?
31
grep: /root/hourly/cdr_export-hourly-98-12-31*.csv: No such file or directory
Please enter your choice: 5
invalid option 5
Please enter your choice: 3
Please enter the telephone number?
^C
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532834.html
標籤:linux重击
