这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子。使用这些工具,你的脚本能够告知用户当前程序运行的状态并能与用户进行交互。...这是一个获取用户姓名并显示的实际事例。 ? 这些是运行前面脚本的截图。 ? 框1 ? 输入框 ? 输入框 ? 输入框 ? 信息框 别忘了查看也许能帮助到你的有用的zenity 选项。...Whiptail 工具 在Ubuntu上安装whiptail,运行 ? 用whiptail创建消息框或者对话框的命令也是无需解释的,我们会给你提供一些基本例子作为参考。 创建消息框 ? ?...这样的话,如果你用 var=$(…),你就根本不会看到对话框,也不能获得输入的值。解决方法是交换stdout和stderr。在whiptail命令后面添加 3>&1 1>&2 2>&3 就可以做到。...你想获取输入值的任何whiptail命令也是如此。 创建菜单对话框 ? ? 这是一个请求用户输入一个文件夹的路径并输出它的大小的 shell 脚本。 ? 这是之前例子的一些截图: ? 输入框 ?
whiptail 简单介绍 这里我只用到了whiptail的菜单栏和提示框,所以这里就只说这两种用法: 1:菜单框 语法: whiptail --menu 菜单名称 高 宽 显示多少条 [标示 菜单项]...例子: whiptail --menu 这是一个菜单 15 30 2 1 菜单一 2 菜单二 ?...,每一个数组代表一个分组,name是分组信息,server是这个组里的ssh配置,可以有多个。...[$index].name $config_file` done 2:将所有name显示成菜单 因为 whiptail 的要求,我们要将name 拼接成” 标示1 菜单1 标示2 菜单2 … “ 这个样子.../bin/bash error_code=9999 config_file='/home/hjx/sh/conf/ssh.json' # 链接ssh ssh(){ ssh_ip_user=$1
你可以通过以下方式访问发行版的终端: 单击其开始菜单图标 在 Powershell 或命令提示符下输入 wsl 或 bash 通过启动 %windir%\system32\bash.exe ~ 的配置文件使用第三方终端选项...Profile 个人资料设置 通过在 profile、list 数组中创建一个对象组来定义新的配置文件。一个 WSL2 Ubuntu 的例子。...标签标题中显示的名称 suppressApplicationTitle 设置为 true 以强制 bash 中的“ tabTitle”或“ name” icon 下拉菜单和标签中显示的图标的完整路径,...创建自己的配色方案 你可以在 settings.json 的“方案”数组中定义自己的方案对象。每种颜色均以十六进制值定义。...每个键绑定都定义为具有 “command” 和 "keys"组合的对象。
简介 打开GUI可以在Matlab命令窗口输入:guide,就可以打开GUIDE的界面,也可以从主页窗口新建菜单中找到GUIDE,同时发现,还有个App Designer的选项,这个是R2016A版本开始推出的一个...新建GUI下对应的四个模板描述: Blank GUI(Default):空白的GUI界面 GUI with Uicontrols:带有界面控件的GUI GUI with Axes and Menu:带有坐标轴和菜单的...这时候按钮还未赋予右键菜单的能力,先右键找到属性检查器并打开,将UIContextMenu的选项None改为刚刚创建的菜单”Untitled 4“,即赋予了该按钮右键菜单是Untitled 4,然后直接点右上角的...这时候回到GUI窗口,运行图形,在出现的界面,在按钮上右键,弹出Untitled 4下5和6的菜单选项 ?...•'inactive' – 控件未处于工作状态,但其外观与当 Enable 设置为 'on' 时相同。 Enable 属性的值和按钮点击的类型共同确定响应。
/bin/bash TITLE="Client" #USER=$(whiptail --inputbox "User:" 8 60 --title "$TITLE" 3>&1 1>&2 2>&3)...编译.c文件 gcc shell.c -o /bin/nsh 添加Shell到/etc/shells echo /bin/nsh >> /etc/shells 将用户shell更改为我们刚刚创建的...,另外还有更好的方案,你可以些一个Shell的外壳,你需要实现 与Shell相同的提示符 提供TAB补齐 上下光标键翻看历史命令,左右光标改变位置,Home/End 键到行首与行尾 Ctrl+R 搜索,...1.2. .history 文件 SA的操作记录问题 通过~/.bash_history文件记录系统管理员的操作记录,定制.bash_history格式 HISTSIZE=1000 HISTFILESIZE...mysql> 安全提示 从安全角度看,你可以去掉输入密码的过程。
这就是Docker和Rancher真正闪耀的地方:Docker为我们提供了几乎相同的部署环境,Rancher让我们将来自各种云提供商或内部服务器的节点组合到一个运行在自己的V**上的集群中。...您可以在腾讯CVM创建页面的“ 选择图像”下的“ 应用程序”选项卡中找到Docker 1.5.0映像选项。此腾讯CVM还需要自定义用户数据。...保存授权配置后,右上角的警告应替换为您的Github配置文件图像和项目选择菜单(最初为Default)。单击“ 默认”以打开项目选择菜单,然后单击“ 管理项目”,最后单击“ 创建项目”。...这允许从站可以连接到主站。 接下来,单击“ 高级选项”,然后单击“ 卷”选项卡。单击“ 卷”旁边的“ +”,然后在出现的文本框中指定/var/jenkins_home。...再次单击+并添加另一个名为 NODE和值为Jenkins从属的名称的条目,该从属名称是在前面步骤的Jenkins UI 中的New Node菜单中所指定的。 接下来,单击“ volume”选项卡。
ZSH是Bourne Shell的扩展版本,结合了BASH,KSH和TSH的某些功能。 Zsh功能 命令行完成。 可以在所有shell之间共享历史记录。 扩展文件匹配。 更好的变量和数组处理。...现在要使用新的zsh shell,请从终端注销并再次登录。 在Ubuntu Linux中设置Zsh 与BASH之类的其他shell相比,ZSH需要一些首次配置才能解决。...首次启动ZSH时,它将为您提供一些配置选项。让我们看看这些选项是什么以及如何配置这些选项。 在第一页上选择选项“ 1”,它将带我们进入主菜单。 ? 主菜单将显示一些推荐的配置选项。 ?...进入主菜单后,状态将从“推荐(recommended)”更改为“未保存的更改(Unsaved changes)”。 ? 像这样,您必须修改完成系统、密钥和常见shell选项的配置。...除了手动设置每个配置,还有另一种简单的方法。这是我通常喜欢的方式。我们可以选择选项“2”,它将用默认参数填充.zshrc文件,而不是选择选项“1”到主菜单设置每个设置。
数组中的每个项目都是一个字典,用于指定命令的名称,快捷方式和其他属性。有关更多详细信息,请参阅插件命令。 menu 描述此插件中命令的菜单布局的字典。...请参阅插件菜单以获取有关该词典内容的更多详细信息,以及如何构建每个插件的菜单。 插件命令 插件定义一个或多个用户执行的命令。 清单中的命令数组描述了这些。...数组中的每个条目都是一个字典,具有以下属性: name 命令的显示名称。该值在插件菜单中使用。 identifier 一个字符串,用于指定插件捆绑中命令的唯一标识符。...title 指定用于子菜单的标题的字符串。 items 这是一个列出要包含在菜单中的项目的数组。...它可以包含两种类型的项目: 一个给出命令标识符的字符串 描述子菜单的字典(包含“标题”和“项目”) isRoot 默认情况下,此字典中列出的菜单项将显示在菜单中,其名称由标题键指定。
组件属性是一项功能,可让您为每个组件创建许多选项,而无需创建许多变体。过去,我们必须为每个选项创建一个变体。使用组件属性,我们可以在组件内构建逻辑,为我们提供相同的选项,但变体更少。...布尔属性非常适合显示和隐藏图层。例如,对于带有和不带有图标的按钮。 变体 变体并不是一个新功能,设计人员已经使用它们来创建具有许多选项的组件。然而,Figma 的帮助页面说变体是组件属性的一部分。...变体 您可以从右侧菜单中添加变体。 首先,让我们创建一个变体组。选择组件,单击属性部分中的加号图标,然后选择“变体”。 然后,在右侧菜单中,将属性命名为“State”,将变体命名为“Enable”。...您在此处设置的顺序是 Figma 将在列表中显示的顺序。 添加描述和链接 您可以为每个组件和变体添加描述和链接。此描述有助于设计人员了解如何使用该组件,因此他们不必离开 Figma 即可获取信息。...一个老派的技巧是在其中一个属性中的“图标”一词之后添加一个空格。因此,布尔值和交换值将具有相同的属性名称。 快速交换组件 如果您想快速交换组件,可以将它们全部放在一个页面上或一个画板上。
选项 说明 -a array 把输入赋值到数组 array 中,从索引号零开始。我们将在第36章中讨论数组问题。...答案与 shell 处理管道线的方式有关系。在 bash(和其它 shells,例如 sh)中,管道线会创建子 shell。...sys_info_page 程序中所学到的知识,我们能够构建一个菜单驱动程序来执行上述菜单中的任务: #!...从逻辑上讲,这个脚本被分为两部分。第一部分显示菜单和用户输入。第二部分确认用户反馈,并执行选择的行动。注意脚本中使用的 exit 命令。...使用目前已经学过的技巧,有可能编写许多有用的程序,比如说特定的计算程序和容易使用的命令行工具前端。在下一章中,我们将继续建立菜单驱动程序概念,让它更完善。
首先,从应用菜单中选择mingw-get启动它。 要安装GCC,请单击GCC和G++包来标记要安装GNUC、C++编译器。要完成此过程,请从mingw-get窗口左上角的安装菜单中选择应用更改。...它是微软的cmd.exe和PowerShell的替代方案,它默认是Bash。...需要添加两个可执行文件的根目录:一个用于MinGW(包括GCC及其相关工具链),另一个用于MSYS(包括Bash、GNU和BSD项目中的许多常用工具)。...若要在Windows中修改环境,请单击应用菜单并输入env。 这将打开“首选项”窗口。点击窗口底部附近的“环境变量”按钮。 在“环境变量”窗口中,双击底部面板中的“路径”选区。...在“编辑环境变量”窗口中,单击右侧的“新增”按钮。创建一个新条目C:\MinCW\msys\1.0\bin,然后单击“确定”。以相同的方式创建第二条C:\MinGW\bin,然后单击“确定”。
一个包是一个具有标准化层次结构的目录,该目录包含可执行代码和该代码使用的资源。...数组中的每个项目都是一个字典,用于指定命令的名称,快捷方式和其他属性。有关更多详细信息,请参阅插件命令。 menu 描述此插件中命令的菜单布局的字典。...请参阅插件菜单以获取有关该词典内容的更多详细信息,以及如何构建每个插件的菜单。 插件命令 插件定义一个或多个用户执行的命令。 清单中的命令数组描述了这些。...数组中的每个条目都是一个字典,具有以下属性: name 命令的显示名称。该值在插件菜单中使用。 identifier 一个字符串,用于指定插件捆绑中命令的唯一标识符。...当它加载插件时,Sketch为它创建一个菜单,并使用清单文件中“菜单”字典中的信息填充该菜单。
1.简介 按照以前的讲解和分享路数,宏哥今天就应该从外观上来讲解WireShark的界面功能了。...配置文件也可以从右下面板更改。 首选项:单击它时,将打开一个提示窗口,您可以在其中控制 GUI 的外观、设置捕获选项和其他高级功能,如添加 RSA 密钥、修改协议设置等。...主要是对抓包的控制。如下图所示: 捕获菜单项说明: 菜单项 快捷键 描述 Options… Ctrl+K 显示 “捕获选项” 对话框,该对话框允许您配置界面和捕获选项。...如下图所示: 工具菜单项说明: 菜单项 加速器 描述 Firewall ACL Rules 这使您可以为许多不同的防火墙产品创建命令行 ACL 规则,包括 Cisco IOS,Linux Netfilter...如下图所示: 工具栏图标 工具栏项 菜单项 描述 Start Capture → Start 使用与上次捕获相同的选项开始捕获数据包,如果未设置默认选项,则使用默认选项开始捕获数据包(5.1.2 开始捕捉
要将当前布局保存为默认布局,请从主菜单中选择“窗口” |“布局” 。将当前布局存储为默认值。您可以使用相同的快捷方式 ⇧ F12来还原保存的布局。 跳至上一个活动窗口 按 F12。...按此⌫按钮从列表中删除所选文件,然后在编辑器中将其关闭。 更改IDE外观 1、按⌃` 。 2、在“切换”菜单中,选择所需的选项,然后按⏎。使用相同的快捷方式⌃` 撤消更改。...将鼠标悬停在条纹上可查看描述问题的工具提示,或单击该条纹以进行快速导航。 在处理文件时,通常会看到许多条纹。当您完成代码时,许多这些错误,警告和建议最终都会得到解决。...编辑器标签 您可以关闭,隐藏和分离编辑器选项卡。每次打开文件进行编辑时,带有名称的选项卡都会添加到活动编辑器选项卡的旁边。 从主菜单中,选择“窗口” |“窗口”。...要在已创建的分割帧之间移动,请从主菜单中选择“窗口” |“窗口”。编辑器标签。从选项列表中分别选择“转到下一个拆分器” ⌥ ⇥ 或“ 转到上一个拆分器” ⌥ ⇧ ⇥。
补全条目以相同的方式生成,就好像可编程补全代码用相同的补全选项直接生成了补全条目一样,如果指定了word,则只显示与之匹配的条目。...选项“-D”的意思是其后的选项和动作将应用到默认命令补全,也就是说之前未定义的补全命令也可以补全。选项“-E”的意思是其后的选项和动作将应用到空命令补全,也就是说补全空白行。...对于选项“-G”、“-W”、“-X”、“-P”和“-S”,应该使用括号进行保护,防止补全开始前被扩展。 “-o bashdefault”:如果没有生成补全条目,就使用bash默认的其它补全。...,从数组变量COMPREPLY中获取补全条目。...COMPREPLY:一个数组变量,bash从这个变量中读取可编程补全所调用的shell函数生成的补全条目。
点击 Next 进入开始菜单设置,默认即可。 默认放在开始菜单的 Git 文件夹,也可修改文件夹名称或选择其他文件夹。 勾选下面选项则不创建开始菜单文件夹(即无法从开始菜单打开)。...第一个“使用 MinTTY(MSYS2 的默认终端)”。Git Bash 将使用 MinTTY 作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和 Unicode 字体。...在第一行输入仓库名,格式为:用户名.github.io,第二行描述内容选填。...(能看到 .ssh 文件夹的忽略这步)因为是隐藏文件夹,所以要右上角点击选择选项,选择查看,选择显示隐藏的文件、文件夹和驱动器。 点击进入用户名文件夹中的 .ssh 文件夹。...注意冒号后面有一个空格且名称应与主题文件夹的名称相同。 在本地博客文件夹右击选择 Git Bash Here 打开 Git 窗口。
在这些列表操作符中, '&&'和'||'具有相同的优先级, ';'和'&'具有相同的优先 级, 且'&&'和'||'的优先级比';'和'&'要高. ...如果 shell选项'nocasematch'(*参见 4.2 Bash内部命令之'shopt')启用, 匹配将不 考虑字符的大小写....EXPRESSION 由下面将要描述的基本表达式组成(*参见 6.4 Bash条件表达式::)....模式的任何部分也可以通过加以引用, 以强制使其作为字符串进行匹配. 另外, 还有一个二元操作符'=~'. 它和'=='及'!='具有相同的优先级....正则表达式内的括号子表达式所匹配的字符串被保存在数组变量 'BASH_REMATCH'中. 'BASH_REMATCH'中序号为0的元素是跟整个正则表达式匹配 的字符串.
② 综合训练:学生成绩管理系统 二、设计要求 矩阵乘法:编写一个函数实现矩阵A(2行3列)与矩阵B 相乘(3行2列),乘积放在C数组中。在主函数中输入相乘的两数组,并输出结果。...student stu[N]; 三、数据结构设计描述 系统功能描述 1能够输入学生的学号、姓名、三科成绩并且计算出平均成绩。...2能够以表格的形式输出学生记录 3能够按照学生三科的平均成绩进行排序 4能够按照学生的单科成绩进行排序 5能够按照学号查询学生记录 6往表中插入学生记录 7从表中删除学生记录 8存储记录到文件中 9从文件中读取记录...加工逻辑:根据现有学生成绩记录 if 新记录旧记录 then 更新数据 else 数据未改动 endif 设计测试流程 1、进入界面 2、输入选项0,回车; 按提示输入数据 3、回到主菜单; 输入选项...出现统计信息 11、回到主菜单,输入7,回车 输入result,回车 出现成功写入文件的信息 12、回到主菜单,输入9,回车退出系统 四、各变量的定义和作用 #define N 3 定义常数 typedef
领取专属 10元无门槛券
手把手带您无忧上云