首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何循环我的花哨巴什对话框菜单?

我如何循环我的花哨巴什对话框菜单?
EN

Ask Ubuntu用户
提问于 2021-09-04 02:14:33
回答 2查看 795关注 0票数 1

这就是我所拥有的,我对到目前为止所拥有的非常满意,但是我确实想添加一个循环,所以当一个命令被执行时,请求一个"ENTER“回击,它会把你送回菜单……

代码语言:javascript
复制
#!/bin/bash
cmd=(dialog --keep-tite --menu "Welcome to Ernie's Utility Menu v1.0:" 22 76 16)

options=(1  "Hide Connection"
         2  "Disconnect from VPN"
         3  "Status of Connection"
         4  "Update the system"
         5  "Clean up post update mess" 
         6  "Deep Clean (Trojans and malware)"
         7  "Speedometer (Bandwith Monitor)"
         8  "Bmon (Bandwith Monitor)"
         9  "Test Bandwith speed (up & down)"
         10 "Snow in the terminal"
        )

choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)

for choice in $choices 
    do    
        case $choice in
        1)
            expressvpn connect
            ;;
        2)
            expressvpn disconnect
            ;;
        3)
            expressvpn status && nmcli dev wifi
            ;;
        4)
            sudo apt update && sudo apt upgrade -y #!//&& sudo apt-get dist-upgrade -y not sure if I want to do this part....
            ;;
        5)
            sudo apt update && sudo apt -f install && sudo dpkg --configure -a && sudo apt clean && sudo apt autoremove && sudo -k && exit
            ;;
        6)
            sudo chkrootkit -d && sudo rkhunter -c --rwo && sudo -k
            ;;
        7)
            speedometer -l  -r wlp2s0 -t lo -m $(( 1024 * 1024 * 3 / 2 ))
            ;;
        8)
            bmon
            ;;
        9)
            speedtest
            ;;
        10)
            ./snow.sh
            ;; 
    esac
done
EN

回答 2

Ask Ubuntu用户

发布于 2021-09-04 03:03:41

在脚本末尾添加:

代码语言:javascript
复制
read -p "Hit enter to continue ..."
exec /bin/bash "$0" "$@"

exec命令将重新执行脚本,重新使用当前进程。

票数 2
EN

Ask Ubuntu用户

发布于 2021-09-08 23:01:28

所以,如果有人对回收菜单感兴趣.这就是我的最终产品的样子;

代码语言:javascript
复制
#!/bin/bash
cmd=(dialog --keep-tite --menu "Welcome to Ernie's Utility Menu v1.0:" 22 76 16)

options=(1  "Hide Connection"
         2  "Disconnect from VPN"
         3  "Status of Connection"
         4  "Update the system"
         5  "Clean up post update mess" 
         6  "Deep Clean (Trojans and malware)"
         7  "Speedometer (Bandwith Monitor)"
         8  "Bmon (Bandwith Monitor)"
         9  "Test Bandwith speed (up & down)"
         10 "Snow in the terminal"
#         11 "exit"
        )

choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)

for choice in $choices 
    do    
        case $choice in
        1)
            expressvpn connect
            ;;
        2)
            expressvpn disconnect
            ;;
        3)
            expressvpn status && nmcli dev wifi
            ;;
        4)
            sudo apt update && sudo apt upgrade -y #!//&& sudo apt-get dist-upgrade -y not sure if I want to do this part....
            ;;
        5)
            sudo apt update && sudo apt -f install && sudo dpkg --configure -a && sudo apt clean && sudo apt autoremove && sudo -k
            ;;
        6)
            sudo chkrootkit -d && sudo rkhunter -c --rwo && sudo -k
            ;;
        7)
            speedometer -l  -r wlp2s0 -t lo -m $(( 1024 * 1024 * 3 / 2 ))
            ;;
        8)
            bmon
            ;;
        9)
            speedtest
            ;;
        10)
            ./snow.sh
            ;;
         *)
            exit
      esac
read -p "Hit enter to continue ..."
exec /bin/bash "$0" "$@"
      done
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1361811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档