bash交互界面命令whiptail(消息框,提示框,输入框)
文章目录
bash交互界面命令whiptail(消息框,提示框,输入框)HELP消息框提示框输入框密码输入框其他
HELP
$ whiptail --help
Box options:
--msgbox
--yesno
--infobox
--inputbox
--passwordbox
--textbox
--menu
--checklist
--radiolist
--gauge
Options: (depend on box-option)
--clear clear screen on exit
--defaultno default no button
--default-item
--fb, --fullbuttons use full buttons
--nocancel no cancel button
--yes-button
--no-button
--ok-button
--cancel-button
--noitem don't display items
--notags don't display tags
--separate-output output one line at a time
--output-fd
--title
--backtitle
--scrolltext force vertical scrollbars
--topleft put window in top-left corner
-h, --help print this message
-v, --version print version information
消息框
#!/bin/bash
scriptPath=$(cd $(dirname $0) && pwd)
cd ${scriptPath}
function messagebox() {
# messagebox
title=$1
msgbox=$2
height=10
width=60
ok_button="OK"
if [ -n "$3" ]; then
height=$3
fi
if [ -n "$4" ]; then
width=$4
fi
if [ -n "$5" ]; then
ok_button=$5
fi
# 消息框
# whiptail --title "
# whiptail --title "Test Message Box" --msgbox "Create a message box with whiptail. Choose Ok to continue." 10 60
whiptail --title "$title" --ok-button "$ok_button" --msgbox "$msgbox" $height $width
}
messagebox "向导" "开始配置向导" 10 60 "开始"
提示框
#!/bin/bash
scriptPath=$(cd $(dirname $0) && pwd)
cd ${scriptPath}
function promptbox() {
# promptbox
title=$1
yesno=$2
height=10
width=60
yes_button="Yes"
no_button="No"
if [ -n "$3" ]; then
height=$3
fi
if [ -n "$4" ]; then
width=$4
fi
if [ -n "$5" ]; then
yes_button=$5
fi
if [ -n "$6" ]; then
no_button=$6
fi
# 提示框
# whiptail --title "
#!/bin/bash if (whiptail --title "Test Yes/No Box" --yes-button "Skittles" --no-button "M&M's" --yesno "Which do you like better?" 10 60) then echo "You chose Skittles Exit status was $?." else echo "You chose M&M's. Exit status was $?." fi
whiptail --title "$title" --yes-button "$yes_button" --no-button "$no_button" --yesno "$yesno" $height $width
ret=$?
return $ret
}
promptbox "提示" "是否提交您的信息" 10 60 "是" "否"
ret=$?
echo $ret
输入框
#!/bin/bash
scriptPath=$(cd $(dirname $0) && pwd)
cd ${scriptPath}
function inputbox() {
# inputbox
title=$1
inputbox=$2
height=10
width=60
default=$5
if [ -n "$3" ]; then
height=$3
fi
if [ -n "$4" ]; then
width=$4
fi
# 输入框
# whiptail --title "" --inputbox "
#!/bin/bash PET=$(whiptail --title "Test Free-form Input Box" --inputbox "What is your pet's name?" 10 60 Wigglebutt 3>&1 1>&2 2>&3) exitstatus=$? if [ $exitstatus = 0 ]; then echo "Your pet name is:" $PET else echo "You chose Cancel." fi
value=$(whiptail --title "$title" --inputbox "$inputbox" $height $width "$default" 3>&1 1>&2 2>&3)
exitstatus=$?
# echo "exitstatus:$exitstatus"
if [ $exitstatus = 0 ]; then
echo "$value"
fi
return $((10#${exitstatus}))
}
value=$(inputbox "联系方式" "输入您的联系方式" 10 60 "默认内容")
ret=$?
echo $value
echo $ret
密码输入框
#!/bin/bash
scriptPath=$(cd $(dirname $0) && pwd)
cd ${scriptPath}
function passwordbox() {
# inputbox
title=$1
inputbox=$2
height=10
width=60
default=$5
if [ -n "$3" ]; then
height=$3
fi
if [ -n "$4" ]; then
width=$4
fi
# 密码输入框
# whiptail --title "
#!/bin/bash PASSWORD=$(whiptail --title "Test Password Box" --passwordbox "Enter your password and choose Ok to continue." 10 60 3>&1 1>&2 2>&3) exitstatus=$? if [ $exitstatus = 0 ]; then echo "Your password is:" $PASSWORD else echo "You chose Cancel." fi
value=$(whiptail --title "$title" --passwordbox "$inputbox" $height $width "$default" 3>&1 1>&2 2>&3)
exitstatus=$?
# echo "exitstatus:$exitstatus"
if [ $exitstatus = 0 ]; then
echo "$value"
fi
return $((10#${exitstatus}))
}
value=$(passwordbox "登录密码" "请输入您的登录免密" 10 60 "admin")
ret=$?
echo $value
echo $ret
其他
#!/bin/bash
scriptPath=$(cd $(dirname $0) && pwd)
cd ${scriptPath}
# 菜单栏
# whiptail --title "
发表评论