Điểm:1

Làm cách nào để lặp lại menu Hộp thoại Bash ưa thích của tôi?

lá cờ ag

Vì vậy, đây là những gì tôi có, và tôi rất hài lòng với những gì tôi có cho đến nay, nhưng tôi muốn thêm một vòng lặp để khi một lệnh đã được thực thi, hãy yêu cầu một cú đánh "ENTER" và nó sẽ đưa bạn trở lại màn hình thực đơn...

#!/bin/bash
cmd=(hộp thoại --keep-tite --menu "Chào mừng đến với Menu Tiện ích của Ernie v1.0:" 22 76 16)

tùy chọn=(1 "Ẩn kết nối"
         2 "Ngắt kết nối khỏi VPN"
         3 "Trạng thái kết nối"
         4 "Cập nhật hệ thống"
         5 "Dọn dẹp mớ hỗn độn sau cập nhật" 
         6 "Làm sạch sâu (Trojan và phần mềm độc hại)"
         7 "Đồng hồ tốc độ (Màn hình băng thông)"
         8 "Bmon (Màn hình băng thông)"
         9 "Kiểm tra tốc độ băng thông (lên & xuống)"
         10 "Tuyết trong nhà ga"
        )

lựa chọn=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)

cho sự lựa chọn trong $choices 
    làm    
        trường hợp $choice trong
        1)
            kết nối expressvpn
            ;;
        2)
            ngắt kết nối expressvpn
            ;;
        3)
            trạng thái expressvpn && nmcli dev wifi
            ;;
        4)
            sudo apt update && sudo apt upgrade -y #!//&& sudo apt-get dist-upgrade -y không chắc tôi có muốn làm phần này không....
            ;;
        5)
            cập nhật sudo apt && sudo apt -f cài đặt && sudo dpkg --configure -a && sudo apt clean && sudo apt autoremove && sudo -k && thoát
            ;;
        6)
            sudo chkrootkit -d && sudo rkhunter -c --rwo && sudo -k
            ;;
        7)
            đồng hồ tốc độ -l -r wlp2s0 -t lo -m $(( 1024 * 1024 * 3/2 ))
            ;;
        số 8)
            bmon
            ;;
        9)
            kiểm tra tốc độ
            ;;
        10)
            ./snow.sh
            ;; 
    thoát hiểm
xong
Terrance avatar
lá cờ id
Một vấn đề tôi có thể thấy với vòng lặp này và câu trả lời bên dưới là bạn không có lối thoát. Tôi sẽ chọn Tùy chọn 11 cho Thoát. Sau đó, dòng trường hợp sẽ chỉ là `11) exit;;` nếu bạn không muốn sử dụng Ctrl+C.
Erniemenendez avatar
lá cờ ag
Nếu bạn chạy tập lệnh này, nó sẽ có hai tùy chọn ở dưới cùng, một là "OK" Cái còn lại là "HỦY" sẽ chấm dứt tập lệnh. Cảm ơn bạn cho các thông tin anyways!!!! Tôi có thể sử dụng nó trên một tập lệnh khác! CHỈNH SỬA: vâng, bạn nói đúng. "HỦY" đưa tôi trở lại menu, lol
Điểm:2
lá cờ cn

Ở cuối tập lệnh thêm:

đọc -p "Nhấn enter để tiếp tục ..."
exec /bin/bash "$0" "$@"

các giám đốc điều hành lệnh sẽ thực thi lại tập lệnh, sử dụng lại quy trình hiện tại.

Erniemenendez avatar
lá cờ ag
TUYỆT VỜI!!!! Bây giờ kịch bản của tôi đã hoàn tất!!! bạn Glenn Jackman là một thiên tài!!! CẢM ƠN!!!
vanadium avatar
lá cờ cn
Tôi muốn làm việc với một vòng lặp vô hạn trong tập lệnh, sau đó bao gồm một tùy chọn trong menu để thoát (lệnh: `exit` hoặc `break`)
Điểm:0
lá cờ ag

VÌ VẬY, nếu ai đó quan tâm đến việc tái chế menu này... Đây là sản phẩm cuối cùng của tôi trông như thế nào;

#!/bin/bash
cmd=(hộp thoại --keep-tite --menu "Chào mừng đến với Menu Tiện ích của Ernie v1.0:" 22 76 16)

tùy chọn=(1 "Ẩn kết nối"
         2 "Ngắt kết nối khỏi VPN"
         3 "Trạng thái kết nối"
         4 "Cập nhật hệ thống"
         5 "Dọn dẹp mớ hỗn độn sau cập nhật" 
         6 "Làm sạch sâu (Trojan và phần mềm độc hại)"
         7 "Đồng hồ tốc độ (Màn hình băng thông)"
         8 "Bmon (Màn hình băng thông)"
         9 "Kiểm tra tốc độ băng thông (lên & xuống)"
         10 "Tuyết trong nhà ga"
# 11 "thoát"
        )

lựa chọn=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)

cho sự lựa chọn trong $choices 
    làm    
        trường hợp $choice trong
        1)
            kết nối expressvpn
            ;;
        2)
            ngắt kết nối expressvpn
            ;;
        3)
            trạng thái expressvpn && nmcli dev wifi
            ;;
        4)
            sudo apt update && sudo apt upgrade -y #!//&& sudo apt-get dist-upgrade -y không chắc tôi có muốn làm phần này không....
            ;;
        5)
            cập nhật sudo apt && sudo apt -f cài đặt && sudo dpkg --configure -a && sudo apt clean && sudo apt autoremove && sudo -k
            ;;
        6)
            sudo chkrootkit -d && sudo rkhunter -c --rwo && sudo -k
            ;;
        7)
            đồng hồ tốc độ -l -r wlp2s0 -t lo -m $(( 1024 * 1024 * 3/2 ))
            ;;
        số 8)
            bmon
            ;;
        9)
            kiểm tra tốc độ
            ;;
        10)
            ./snow.sh
            ;;
         *)
            lối ra
      thoát hiểm
đọc -p "Nhấn enter để tiếp tục ..."
exec /bin/bash "$0" "$@"
      xong

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.