首页 > 系统相关 >S02.shell图形化编程

S02.shell图形化编程

时间:2022-12-12 16:55:05浏览次数:62  
标签:shell OFF title -- S02 echo 60 whiptail 图形化

whiptail使用

消息框语法:

whiptail --title "<message box title>" --msgbox "<text to show>" <height> <width>

示例:

#!/bin/bash
#--title:表示指定标题内容
#--msgbox:执行信息内容
#20表示消息框高度为20
#60表示消息狂的宽度为60

whiptail --title "$HOSTNAME whiptail test" --msgbox "`df -TH`" 20 60

布尔值选择框

语法:whiptail --title "<dialog box title>" --yesno "<text to show>" <height> <width>

示例1:

#!/bin/bash

if (whiptail --title "TEST Yes/No Box" --yesno "请选择yes/no" 10 60)
then
	echo "您选择的为yes,exit status was $?"
else
	echo "您选择的为No,exit status was $?"
fi

示例2:

#!/bin/bash

if (whiptail --title "TEST Yes/No Box" --yesno "请选择yes/no" 10 60)
then
	echo "您选择的为yes,exit status was $?"
else
	echo "您选择的为No,exit status was $?"
fi

交互式输入框

语法:

whiptail --title "标题" --inputbox "信息"  <高度> <宽度> <默认值>

示例

#!/bin/bash

ip=`whiptail --title "交互式输入框" --inputbox "请输入您vip信息" 10 60 192.168.40.100 3>&1 1>&2 2>&1`
if [ $? -eq 0 ];then
	echo "$ip"
else
	echo "输入ip错误"
fi

密码框:

语法

whiptail --title "<password box title>" --passwordbox "<text to show>" <height> <width>

示例

#!/bin/bash

password=$(whiptail --title "密码框" --passwordbox "输入的密码" 10 60 3>&1 1>&2 2>&1)
if [ $? -eq 0 ]
then
        echo "输入密码正确"
else
        echo "输入密码错误"
fi

菜单栏

语法

whiptail --title "<menu title>" --menu "<text to show>" <height> <width> <menu height> [ <tag> <item> ] . .

示例:


--menu		# 菜单栏
30			# 高度
60			# 宽度
3			# 菜单显示多少行内容

#!/bin/bash
a=$(whiptail --title "菜单栏" --menu "根据菜单选" 30 60 3 \
"1" "增加"  \
"2" "删除" \
"3" "扩容" \
"4" "缩容" \
"5" "lb05" \
"6" "lb06"  3>&1 1>&2 2>&3)

单选框

# 语法
a=$(whiptail --title "家里" --radiolist "根据菜单选" 30 60 3 \
"1" "lb01" OFF  \
"2" "lb2"  ON \
"3" "lb03" OFF \
"4" "lb04" OFF \
"5" "lb05" OFF \
"6" "lb06" OFF 3>&1 1>&2 2>&3)

# 选项
--rediolist : 单选框
OFF : 默认没有被选中
ON	:默认被选中

多选没有意义,后面的值会覆盖前面的选项

# 返回值
OK :0
Cancel 	:1

多选框:

a=$(whiptail --title "家里" --checklist "根据菜单选" 30 60 3 \
"1" "lb01" OFF  \
"2" "lb2"  ON \
"3" "lb03" OFF \
"4" "lb04" OFF \
"5" "lb05" OFF \
"6" "lb06" OFF 3>&1 1>&2 2>&3)

进度条:

{
        for ((i = 0 ; i <= 100 ; i+=1));do
                sleep 10
                echo $i
        done
} | whiptail --gauge "让子弹飞一会" 6 60 10

参考链接:https://www.cnblogs.com/ghjhkj/p/16526022.html

标签:shell,OFF,title,--,S02,echo,60,whiptail,图形化
From: https://www.cnblogs.com/zhaopei123/p/16976509.html

相关文章

  • 使用 VSCode 远程 图形化 GDB 调试 嵌入式linux
     目录标题引言环境步骤vscoderemotessh配置Linux编译机配置设备板端配置vscodelaunch设置调试引言之前说了,通过coredump找程序bug,但是有些时候......
  • 基本shell命令
    浏览文件系统cd命令cd./进入下一级目录cd../进入上一级目录cd/+绝对路径文件和目录列表ls命令-F 区分文件和目录目录名后加/-a 将以.开头的文件显......
  • Shell 起停脚本 专题
     Tolistanyprocesslisteningtotheport8080:lsof-i:8080Tokillanyprocesslisteningtotheport8080:kill$(lsof-t-i:8080)ormoreviolently:kill-9$(l......
  • 【Shell脚本(三) -- echo及printf输出】
    一、Shellecho命令Shell的echo指令用于字符串的输出。命令格式:echostring1.显示普通字符串:echo"Itisatest"echoItisatest加不加引号效果一样2.显示转义字符如......
  • 【Shell脚本(四) -- 流程控制】
    一、if语句1、if语法if条件then动作动作...fi2、if--elseif条件then动作动作...else动作动作...fi3、if--elif--elseif条件1th......
  • Shell 基础
    概述#CentOS默认的的解释器是bashecho$SHELL/bin/bash#脚本开头指定解析器为bash#!/bin/bash#常用的执行方式#方式一:bash/sh+脚本的绝对路径/相对路径......
  • Linux shell——将两个文件的内容按行交叉合并
    有文件a.txt,内容为:abc有文件b.txt,内容为:123现需要将a.txt和b.txt合并为c.txt,内容为:a1b2c3使用下面的脚本,其中$line是要交叉合并的文件行数。for((i=1;i<=$line;i++));......
  • c++构建工具之shell,configure,make,cmake,scons,xmake简析总结
    前言说到编译工具,在windows下必言vs,在linux下必言make。0.shell如果编译一个库的命令太复杂或者为了方便,我们更愿意将编译命令写成一个shell脚本来执行,比如build.sh编译ffmp......
  • xshell 连接docker centos7
    1、拉取指定版本的CentOS镜像,这里我们安装指定版本为例(centos7):dockerpullcentos:centos72、查看本地镜像,验证是否安装成功使用以下命令来查看是否已安装了centos7:2......
  • Microsoft 365 开发:如何通过Powershell更新OneDrive的管理员
    Blog链接:​​​https://blog.51cto.com/13969817​​又到了员工离职潮了,很多用户离开了组织另谋高就了,那么对于企业Office365的管理员而言,需要快速的将离开公司的员工信息......