2024年10月Linux使用whiptail形成对话框的方法

发布时间:

  ⑴在Linux中可以使用命令来形成对话框,Linux命令行形成的对话框就是以代码的形式出现。whiptail就是一个Linux可以形成对话框的命令行,本文就来介绍一下Linux使用whiptail形成对话框的方法。

  ⑵分享一个写好的东西。

  ⑶#!/bin/bash

  ⑷trap “”

  ⑸while true

  ⑹OPTION=$(whiptail --title “Email Manager” --nocancel --menu “Choose your option”

  ⑺“” “Add Email User”

  ⑻“” “Delete Email User”

  ⑼“” “List Email User”

  ⑽“” “EXIT” 》& 》& 》&

  ⑾case $OPTION in

  ⑿EmailAddress=$(whiptail --title “EmailAddress-form Input Box” --inputbox “What is your add EmailAddress?” shenxu. 》& 》& 》&

  ⒀exitstatus=$?

  ⒁if [ $exitstatus = ]; then

  ⒂grep $EmailAddress /etc/postfix/virtual_mailbox_maps》/dev/nul

  ⒃exitstatus=$?

  ⒄if [ $exitstatus = ]; then

  ⒅whiptail --msgbox “The Email Address is a existed”

  ⒆elif (whiptail --title “Add Yes/No Box” --yesno “Are you sure add $EmailAddress.” then

  ⒇/etc/postfix/mailadd.sh $EmailAddress

  ⒈whiptail --msgbox “The Email Address $EmailAddress is a added.”

  ⒉whiptail --msgbox “You chose Cancel.”

  ⒊EmailAddress=$(whiptail --title “EmailAddress-form Input Box” --inputbox “What is your Delete EmailAddress?” shenxu. 》& 》& 》&

  ⒋exitstatus=$?

  ⒌if [ $exitstatus = ]; then

  ⒍grep $EmailAddress /etc/postfix/virtual_mailbox_maps》/dev/nul

  ⒎exitstatus=$?

  ⒏if [ $exitstatus != ]; then

  ⒐whiptail --msgbox “The Email Address $EmailAddress is a not exist.”

  ⒑elif (whiptail --title “Add Yes/No Box” --yesno “Are you sure delete $EmailAddress.” then

  ⒒/etc/postfix/maildel.sh $EmailAddress

  ⒓whiptail --msgbox “The Email Address $EmailAddress is a deleted.”

  ⒔whiptail --msgbox “You chose Cancel.”

  ⒕EmailAddress=$(cat /etc/postfix/virtual_mailbox_maps | awk ‘{print $}’

  ⒖whiptail --msgbox “The Email User list are $EmailAddress.” --scrolltext

  ⒗echo “EXIT”

  ⒘whiptail --title “Email Manager” --nocancel --menu “Choose your option”

  ⒙“” “Add Email User”

  ⒚“” “Delete Email User”

  ⒛“” “List Email User”

  ①“” “EXIT” 》& 》& 》&

  ②--title “Email Manager” 是标题,双引号里是自己填的提示信息

  ③--nocancel 是在这个图文里面不显示取消,只显示OK

  ④--menu “Choose your option” 是表示菜单提示,双引号里是自己填的提示信息,是高度,是长度,是有个选择项目

  ⑤下面的-是自己的提示

  ⑥最后比较关键,》& 》& 》&是为了把选择的内容填进变量OPTION

  ⑦whiptail --title “EmailAddress-form Input Box” --inputbox “What is your add EmailAddress?” shenxu. 》& 》& 》&

  ⑧--inputbox “What is your add EmailAddress?” 是可以形成一个让用户输入的提示框

  ⑨shenxu. 是默认输入text里的值

  ⑩whiptail --msgbox “You chose Cancel.” 是显示一行你的提示

  Ⅰ其实还有--infobox,似乎和msgbox很像,其实不同,它基本上用不上,是在shell运行完后,可以往前翻页能看见的东西

  Ⅱ--scrolltext 是为了显示多行的时候可以上下滚动

  Ⅲ另外还有--passwordbox和text一样输入,就是以***显示

  Ⅳwhiptail --checklist “choose” “” “aa” ON “” “bb” ON

  Ⅴ 还是高和宽,是有几个选项,和menu一样,后面多了一个ON或者OFF表示状态,就是菜单出来后默认是不是选,On是选,OFF不选,用空格键来选择。可以多选。

  Ⅵ--radiolist,不可以多选了。ON就只能有一个,其它必须是OFF

  Ⅶ还有一个显示进度条的--gauge,我觉得没啥用处。

  Ⅷ#!/bin/bash

  Ⅸfor n in `seq `

  Ⅹ} | whiptail --gauge “Please wait while installing”

  ㈠以上就是Linux使用whiptail形成对话框的方法,把写好的代码复制到whiptail里面就可以形成对话框了。