在有了简单界面可以选择执行命令后(参见: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()
{echoif [ $curLangSet -eq 1 ]thenecho -e "\t☆ Language switch: \033[46;38m51. English \033[0m 52. 中文"elseecho -e "\t☆ 语言切换: 51. English \033[46;38m52. 中文 \033[0m"fi
}
用户输入读取代码如下:
bLoop=true
while $bLoopdoechobLoop=false read cmdidcase $cmdid in0)echo "See You..."bLoop=false;;11) curType=1MainMenu ;;12) curType=2MainMenu ;;13) curType=3MainMenu ;;14) curType=4MainMenu ;;15) curType=5MainMenu;;21) curSelectType=1MainMenu ;;22) curSelectType=2MainMenu ;;23) curSelectType=3MainMenu ;;31) curDisplayType=1MainMenu ;;32) curDisplayType=2MainMenu ;;33) curDisplayType=3MainMenu;;41)curShowType=1MainMenu ;;42)curShowType=2MainMenu ;;r|R) SetRowsLimit ;;51) curLangSet=1MainMenu ;;52) curLangSet=2MainMenu;; 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中用到的,学到的一些小技巧整理出来,分到不同的帖子里,备忘备查)