本文共 5864 字,大约阅读时间需要 19 分钟。
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
┌─────────────────────────────┤ Example Dialog ├─────────────────────────────┐ │ │ │ This is an example of a message box. You must hit OK to continue. │ │ │ │ │ ││ │ │ └────────────────────────────────────────────────────────────────────────────┘
whiptail --title "Example Dialog" --infobox "This is an example of a message box. You must hit OK to continue." 8 78
例 8.1. whiptail - yesno
#! /bin/bash# http://archives.seul.org/seul/project/Feb-1998/msg00069.htmlif (whiptail --title "PPP Configuration" --backtitle "Welcome to SEUL" --yesno "Do you want to configure your PPP connection?" 10 40 )then echo -e "\nWell, you better get busy!\n"elif (whiptail --title "PPP Configuration" --backtitle "Welcome toSEUL" --yesno " Are you sure?" 7 40) then echo -e "\nGood, because I can't do that yet!\n" else echo -e "\nToo bad, I can't do that yet\n"fi
whiptail --title "Example Dialog" --yesno "This is an example of a yes/no box." 8 78 exitstatus=$?if [ $exitstatus = 0 ]; then echo "User selected Yes."else echo "User selected No."fi echo "(Exit status was $exitstatus)"
设置--yes-button,--no-button,--ok-button 按钮的文本
whiptail --title "Example Dialog" --yesno "This is an example of a message box. You must hit OK to continue." 8 78 --no-button 取消 --yes-button 确认
例 8.2. whiptail - inputbox
result=$(tempfile) ; chmod go-rw $resultwhiptail --inputbox "Enter some text" 10 30 2>$resultecho Result=$(cat $result)rm $result
┌────────────────────────────┐ │ Enter some text │ │ │ │ __________________________ │ │ │ │ │ │ │ ││ │ │ └────────────────────────────┘
COLOR=$(whiptail --inputbox "What is your favorite Color?" 8 78 --title "Example Dialog" 3>&1 1>&2 2>&3) exitstatus=$?if [ $exitstatus = 0 ]; then echo "User selected Ok and entered " $COLORelse echo "User selected Cancel."fi echo "(Exit status was $exitstatus)"
例 8.3. whiptail - passwordbox
whiptail --title "Example Dialog" --passwordbox "This is an example of a password box. You must hit OK to continue." 8 78
例 8.4. whiptail - passwordbox
whiptail --title "Example Dialog" --textbox /etc/passwd 20 60
为文本取添加滚动条功能
whiptail --title "Example Dialog" --textbox /etc/passwd 20 60 --scrolltext
例 8.5. whiptail - example 1
whiptail --title "Check list example" --checklist \"Choose user's permissions" 20 78 16 \"NET_OUTBOUND" "Allow connections to other hosts" ON \"NET_INBOUND" "Allow connections from other hosts" OFF \"LOCAL_MOUNT" "Allow mounting of local devices" OFF \"REMOTE_MOUNT" "Allow mounting of remote devices" OFF
例 8.6. whiptail - radiolist
whiptail --title "Check list example" --radiolist \"Choose user's permissions" 20 78 16 \"NET_OUTBOUND" "Allow connections to other hosts" ON \"NET_INBOUND" "Allow connections from other hosts" OFF \"LOCAL_MOUNT" "Allow mounting of local devices" OFF \"REMOTE_MOUNT" "Allow mounting of remote devices" OFF
whiptail --title "Menu example" --menu "Choose an option" 22 78 16 \"<-- Back" "Return to the main menu." \"Add User" "Add a user to the system." \"Modify User" "Modify an existing user." \"List Users" "List all users on the system." \"Add Group" "Add a user group to the system." \"Modify Group" "Modify a group and its list of members." \"List Groups" "List all groups on the system."
┌──────────────────────────────┤ Menu example ├──────────────────────────────┐ │ <-- Back Return to the main menu. │ │ Add User Add a user to the system. │ │ Modify User Modify an existing user. │ │ List Users List all users on the system. │ │ Add Group Add a user group to the system. │ │ Modify Group Modify a group and its list of members. │ │ List Groups List all groups on the system. │ │ │ │ │ ││ │ │ └────────────────────────────────────────────────────────────────────────────┘
#!/bin/bash{ for ((i = 0 ; i <= 100 ; i+=30)); do sleep 1 echo $i done} | whiptail --gauge "Please wait" 5 50 0