bash脚本简单界面(2)-设置选项

在有了简单界面可以选择执行命令后(参见: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中用到的,学到的一些小技巧整理出来,分到不同的帖子里,备忘备查)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/319848.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Docker中安装Tomact

目录 前言: 一.安装Tomact 查找指定的tomact版本 下载tomact9.0 查看该镜像是否安装成功 安装成功之后就开始运行镜像了 ps(用于列出正在运行的Docker容器) ​编辑 测试(虚拟机ip:8080) ​编辑 解决措施 ​编辑 完成以上步骤&…

精密、CMOS、轨到轨输入/输出、宽带运算放大器MS8601/MS8602/MS8604

产品简述 MS8601/MS8602/MS8604 分别是单 / 双 / 四通道、轨到轨输入和输出、 单电源放大器,具有极低的失调电压和宽信号带宽。它采用 1.8V 至 5V 单电 源( 0.9 V 至 2.5 V 双电源)供电。 MS8601/MS8602/MS8604 低失调、极低的输入偏置…

互联网演进历程:从“全球等待”到“全球智慧”的技术革新与商业变革

文章目录 一、导言二、World Wide Wait (全球等待)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 三、World Wide Web (万维网)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 四、World Wide Wisdom (全球智慧)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 五、…

Bean如何诞生与消亡:生命周期探秘【beans 二】

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Bean如何诞生与消亡:生命周期探秘【beans 二】 前言bean的创建过程bean的初始化阶段1. 实现InitializingBean接口:2. 使用PostConstruct注解: bean的属性注入1. Set…

听GPT 讲Rust源代码--compiler(4)

File: rust/compiler/rustc_codegen_gcc/src/back/mod.rs rust/compiler/rustc_codegen_gcc/src/back/mod.rs 文件是 Rust 编译器的源代码中的一个模块,主要负责与 GCC(GNU 编译器集合)相关的后端代码生成。 在 Rust 编译器的架构中&#xff…

视频倒放软件,看视频如何演绎“逆袭”之旅

你是否厌倦了日复一日的平淡生活,渴望时光倒流,重温那些逝去的精彩瞬间?在数字技术的世界里,这样的愿望或许不再遥不可及。视频倒放仿佛让时光倒流,给我们的视觉带来了全新的冲击,今天,让我们一…

vue3+Cesium 添加地面测控站台

效果 cesiumRadar.js import * as Cesium from cesium; export function addentities(viewer, res, index) {viewer.entities.add({id: index,position: Cesium.Cartesian3.fromDegrees(res[0], res[1]),wall: {positions: new Cesium.CallbackProperty(() > {return Cesiu…

Avalonia学习(十七)-CEF

今天开始继续Avalonia练习。 本节:CefNet 1.引入 CefNet.Avalonia.Eleven 2.项目引入 Program中加入 using Avalonia; using Avalonia.ReactiveUI; using Avalonia.Threading; using CefNet; using System; using System.IO; using System.Linq; using System…

边坡安全监测预警系统——高效率

安装边坡安全监测预警系统的原因是多方面的,涉及到社会效益、经济效益和环境效益。随着国家基础设施建设的快速发展,边坡安全监测预警系统的需求越来越迫切。 边坡安全监测预警系统对于保障人民生命财产安全具有重要意义。在山区、丘陵地带,边…

苹果Vision Pro将于1月27日上市!

在无数期待中,苹果全新产品Vision Pro头显终于定下上市日期。 彭博社记者马克古曼(Mark Gurman)于近日在X(前推特)平台爆料了这一信息,预计苹果Vision Pro头显将于2024年1月27日率先在美国上市。 在过去看…

【观察】Aginode安捷诺:坚守“长期主义”,服务中国数字经济

毫无疑问,随着整个社会加速数字化转型,尤其是5G、人工智能、大数据等技术兴起,以及智慧医疗、智慧金融、智能制造等应用加速落地,算力网络在经济社会发展中扮演了愈来愈重要的角色,成为支撑数字经济蓬勃发展的“新引擎…