在有了简单界面可以选择执行命令后(参见:bash脚本简单界面(1)-选择执行),有时候用户需要做些设置,让程序按照用户的设置去执行,如下:
输入52,回车,界面切换成中文
显示代码片段如下:
MainMenu()
{
echo -e "\033[47;34m*****************************************************\033[0m"
echo -e "\033[47;34m*\033[0m Realtime UDcheck \033[47;34m*\033[0m"
echo -e "\033[47;34m*\033[0m ________V3.0 HKJV \033[47;34m*\033[0m"
echo -e "\033[47;34m*****************************************************\033[0m"
echo " "
ShowTitle
TypeMenu
SelMenu
dataTypeMenu
ShowTypeMenu
RowsMenu
LangMenu
GoMenu
bLoop=true
....
}
下面为语言切换的菜单显示子程序LangMenu,其它类似不赘述:
LangMenu()
{
echo
if [ $curLangSet -eq 1 ]
then
echo -e "\t☆ Language switch: \033[46;38m51. English \033[0m 52. 中文"
else
echo -e "\t☆ 语言切换: 51. English \033[46;38m52. 中文 \033[0m"
fi
}
用户输入读取代码如下:
bLoop=true
while $bLoop
do
echo
bLoop=false
read cmdid
case $cmdid in
0)echo "See You..."
bLoop=false
;;
11) curType=1
MainMenu
;;
12) curType=2
MainMenu
;;
13) curType=3
MainMenu
;;
14) curType=4
MainMenu
;;
15) curType=5
MainMenu
;;
21) curSelectType=1
MainMenu
;;
22) curSelectType=2
MainMenu
;;
23) curSelectType=3
MainMenu
;;
31) curDisplayType=1
MainMenu
;;
32) curDisplayType=2
MainMenu
;;
33) curDisplayType=3
MainMenu
;;
41)curShowType=1
MainMenu
;;
42)curShowType=2
MainMenu
;;
r|R) SetRowsLimit
;;
51) curLangSet=1
MainMenu
;;
52) curLangSet=2
MainMenu
;;
g|G|go|Go|GO) Go
;;
u|U|udsn|UDSN) FindUDSN
;;
*)echo -e "\a Invalid Command Please Re-input/: 无法识别,请重输:"
bLoop=true
;;
esac
done
各子程序需要前面定义好。
当然用户的选择还可以作为设置保存起来,作为下次的缺省值,参见:bash脚本从ini文件读取设置
————————————————
需要500关注,拜托点个关注,必定回关,谢谢!
(会逐步把之前写bash脚本、QT、C++,ros2,python中用到的,学到的一些小技巧整理出来,分到不同的帖子里,备忘备查)