Score:1

ฉันจะวนเมนู Bash Dialog แฟนซีได้อย่างไร

ธง ag

นี่คือสิ่งที่ฉันมี และฉันมีความสุขกับสิ่งที่ฉันมีจนถึงตอนนี้ แต่ฉันต้องการเพิ่มการวนซ้ำ ดังนั้นเมื่อคำสั่งถูกดำเนินการ ขอให้กด "ENTER" และมันจะส่งคุณกลับไปที่ เมนู...

#!/bin/bash
cmd=(dialog --keep-tite --menu "ยินดีต้อนรับสู่ Ernie's Utility Menu v1.0:" 22 76 16)

ตัวเลือก = (1 "ซ่อนการเชื่อมต่อ"
         2 "ตัดการเชื่อมต่อจาก VPN"
         3 "สถานะการเชื่อมต่อ"
         4 "อัปเดตระบบ"
         5 "ล้างข้อมูลอัพเดตโพสต์" 
         6 "Deep Clean (โทรจันและมัลแวร์)"
         7 "มาตรวัดความเร็ว (ตัวตรวจสอบแบนด์วิดธ์)"
         8 "Bmon (ตัวตรวจสอบแบนด์วิดธ์)"
         9 "ทดสอบความเร็วแบนด์วิธ (ขึ้นและลง)"
         10 "หิมะตกในอาคารผู้โดยสาร"
        )

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

สำหรับทางเลือกใน $choices 
    ทำ    
        กรณี $choice ใน
        1)
            เชื่อมต่อ Expressvpn
            ;;
        2)
            ยกเลิกการเชื่อมต่อ ExpressVPN
            ;;
        3)
            สถานะ expressvpn && nmcli dev wifi
            ;;
        4)
            sudo apt update && sudo apt upgrade -y #!//&& sudo apt-get dist-upgrade -y ไม่แน่ใจว่าฉันต้องการทำส่วนนี้หรือไม่....
            ;;
        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)
            มาตรวัดความเร็ว -l -r wlp2s0 -t lo -m $(( 1024 * 1024 * 3 / 2 ))
            ;;
        8)
            บีมอน
            ;;
        9)
            ทดสอบความเร็ว
            ;;
        10)
            ./snow.sh
            ;; 
    เอสแซค
เสร็จแล้ว
Terrance avatar
id flag
ปัญหาหนึ่งที่ฉันเห็นได้จากลูปนี้และคำตอบด้านล่างคือคุณไม่มีทางออก ฉันจะสร้างตัวเลือก 11 เพื่อออก จากนั้นบรรทัดกรณีจะเป็น `11) exit;;` หากคุณไม่ต้องการใช้ Ctrl+C
Erniemenendez avatar
ag flag
หากคุณเรียกใช้สคริปต์นี้ จะมีสองตัวเลือกด้านล่าง หนึ่งคือ "ตกลง" อีกอันคือ "ยกเลิก" ซึ่งจะยุติสคริปต์ ขอบคุณสำหรับข้อมูลต่อไป !!!! ฉันอาจใช้กับสคริปต์อื่น! แก้ไข: ใช่คุณพูดถูก "ยกเลิก" ทำให้ฉันกลับไปที่เมนู lol
Score:2
ธง cn

ในตอนท้ายของสคริปต์เพิ่ม:

อ่าน -p "กด Enter เพื่อดำเนินการต่อ ... "
ผู้บริหาร /bin/bash "$0" "$@"

เดอะ ผู้บริหาร คำสั่งจะดำเนินการสคริปต์อีกครั้งโดยใช้กระบวนการปัจจุบันอีกครั้ง

Erniemenendez avatar
ag flag
สุดยอด!!!! ตอนนี้สคริปต์ของฉันเสร็จสมบูรณ์แล้ว !!! คุณ Glenn Jackman เป็นอัจฉริยะ!!! ขอบคุณ!!!
vanadium avatar
cn flag
ฉันอยากทำงานกับการวนซ้ำไม่สิ้นสุดในสคริปต์ จากนั้นใส่ตัวเลือกในเมนูเพื่อออก (คำสั่ง: `exit` หรือ `break`)
Score:0
ธง ag

เอาเป็นว่าถ้าใครสนใจจะ Recycle เมนูนี้... นี่คือลักษณะของผลิตภัณฑ์ขั้นสุดท้ายของฉัน

#!/bin/bash
cmd=(dialog --keep-tite --menu "ยินดีต้อนรับสู่ Ernie's Utility Menu v1.0:" 22 76 16)

ตัวเลือก = (1 "ซ่อนการเชื่อมต่อ"
         2 "ตัดการเชื่อมต่อจาก VPN"
         3 "สถานะการเชื่อมต่อ"
         4 "อัปเดตระบบ"
         5 "ล้างข้อมูลอัพเดตโพสต์" 
         6 "Deep Clean (โทรจันและมัลแวร์)"
         7 "มาตรวัดความเร็ว (ตัวตรวจสอบแบนด์วิดท์)"
         8 "Bmon (ตัวตรวจสอบแบนด์วิดท์)"
         9 "ทดสอบความเร็วแบนด์วิธ (ขึ้นและลง)"
         10 "หิมะตกในอาคารผู้โดยสาร"
# 11 "ทางออก"
        )

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

สำหรับทางเลือกใน $choices 
    ทำ    
        กรณี $choice ใน
        1)
            เชื่อมต่อ Expressvpn
            ;;
        2)
            ยกเลิกการเชื่อมต่อ ExpressVPN
            ;;
        3)
            สถานะ expressvpn && nmcli dev wifi
            ;;
        4)
            sudo apt update && sudo apt upgrade -y #!//&& sudo apt-get dist-upgrade -y ไม่แน่ใจว่าฉันต้องการทำส่วนนี้หรือไม่....
            ;;
        5)
            อัปเดต sudo apt && sudo apt -f ติดตั้ง && sudo dpkg --configure -a && sudo apt สะอาด && sudo apt autoremove && sudo -k
            ;;
        6)
            sudo chkrootkit -d && sudo rkhunter -c --rwo && sudo -k
            ;;
        7)
            มาตรวัดความเร็ว -l -r wlp2s0 -t lo -m $(( 1024 * 1024 * 3 / 2 ))
            ;;
        8)
            บีมอน
            ;;
        9)
            ทดสอบความเร็ว
            ;;
        10)
            ./snow.sh
            ;;
         *)
            ทางออก
      เอสแซค
อ่าน -p "กด Enter เพื่อดำเนินการต่อ ... "
ผู้บริหาร /bin/bash "$0" "$@"
      เสร็จแล้ว

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา