Tôi gặp sự cố với tập lệnh shell mà tôi đang viết trong đó nó thực hiện mọi thứ mà nó phải làm ngoại trừ việc nó sẽ không thoát khỏi menu phụ cũng như sẽ thoát hoàn toàn khỏi tập lệnh khi ở trong menu phụ.
Đây là những gì tôi đã làm cho đến nay. Tôi đã biên tập lại các phần của nó vì tính bảo mật của công việc:
#!/bin/bash
#Bây giờ cho menu chính...
trong khi :
làm
xa lạ
con mèo<<EOF
=================================================================
Hộp công cụ DCO 0.5a
=================================================================
Nếu nó không bị hỏng, sửa nó cho đến khi nó được
--------------------------------------
Chào mừng!
Vui lòng chọn trang web bạn đang ở:
Một trang web mới hoặc hiện có A (1)
Một trang web mới hoặc hiện có B (2)
--------------------------------------
EOF
( đọc -n1 -s
trường hợp "$REPLY" trong
"1") echo "Vào menu đó ngay bây giờ"
ngủ 1
trong khi :
làm
xa lạ
con mèo<<EOF
=================================================================
Hộp công cụ DCO 0.5a
=================================================================
TRANG WEB A MENU
----------------------------------------
Vui lòng đưa ra lựa chọn:
Thay đổi DA (1)
Thay đổi trang web (2)
Thay đổi số Rack (3)
Kiểm tra kết nối cổng DA (4)
Kiểm tra mức độ ánh sáng cổng DA (5)
Kiểm tra thứ tự cổng DS (6)
Kiểm tra DS LLDP hàng xóm (7)
(Từ bỏ
----------------------------------------
EOF
( đọc -n1 -s
trường hợp "$REPLY" trong
"1") echo "Hãy thay đổi DA/DS đó, nhập một cái mới: "
đọc da
echo "Cài đặt ngay bây giờ.."
;;
"2") echo "Cho phép thay đổi tên trang web, nhập tên mới: "
đọc trang web
echo "Cài đặt ngay bây giờ.."
;;
"3") echo "Hãy thay đổi giá đích, nhập giá mới: "
đọc giá
echo "Cài đặt ngay bây giờ.."
;;
"4") echo "Đang kiểm tra kết nối cổng DA..."
sshpass -p $password ssh $username@$da.$site "sh int et21/1-24/4 status"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"5") echo "Đang kiểm tra mức ánh sáng cổng DA..."
sshpass -p $password ssh $username@$da.$site "sh int et21/1-24/4 thu phát"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"6")
sshpass -p $password ssh $username@ds01.$site "sh int desc | inc $rack"
sshpass -p $password ssh $username@ds02.$site "sh int desc | inc $rack"
sshpass -p $password ssh $username@ds03.$site "sh int desc | inc $rack"
sshpass -p $password ssh $username@ds04.$site "sh int desc | inc $rack"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"7") echo "Đang kiểm tra hàng xóm DS LLDP..."
sshpass -p $password ssh $username@ds01.$site "sh lldp neigh | inc $rack"
sshpass -p $password ssh $username@ds02.$site "sh lldp neigh | inc $rack"
sshpass -p $password ssh $username@ds03.$site "sh lldp neigh | inc $rack"
sshpass -p $password ssh $username@ds04.$site "sh lldp neigh | inc $rack"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"Q") nghỉ 2 ;;
"q") echo -e $blinkred"ERROR: "$red"Whoa! Phân biệt chữ hoa chữ thường, anh bạn!" $none ;;
* ) echo "Xin lỗi, tùy chọn không hợp lệ!" ;;
thoát hiểm
ngủ 1 ) | tee $today.log
xong
nghỉ
;;
"2") echo "Vào menu đó ngay bây giờ"
ngủ 1
trong khi :
làm
xa lạ
con mèo<<EOF
=================================================================
Hộp công cụ DCO 0.5a
=================================================================
TRANG WEB B MENU
----------------------------------------
Vui lòng đưa ra lựa chọn:
Thay đổi thiết bị (1)
Thay đổi trang web (2)
Thay đổi số Rack (3)
Kiểm tra kết nối cổng (4)
Kiểm tra mức độ ánh sáng cổng (5)
Kiểm tra thứ tự cổng (6)
Kiểm tra hàng xóm LLDP (7)
(Từ bỏ
----------------------------------------
EOF
( đọc -n1 -s
trường hợp "$REPLY" trong
"1") echo "Hãy thay đổi DA/DS đó, nhập một cái mới: "
đọc da
echo "Cài đặt ngay bây giờ.."
;;
"2") echo "Cho phép thay đổi tên trang web, nhập tên mới: "
đọc trang web
echo "Cài đặt ngay bây giờ.."
;;
"3") echo "Hãy thay đổi giá đích, nhập giá mới: "
đọc giá
echo "Cài đặt ngay bây giờ.."
;;
"4") echo "Đang kiểm tra kết nối cổng DA..."
sshpass -p $password ssh $username@$da.$site "sh int et21/1-24/4 status"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"5") echo "Đang kiểm tra mức ánh sáng cổng DA..."
sshpass -p $password ssh $username@$da.$site "sh int et21/1-24/4 thu phát"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"6")
sshpass -p $password ssh $username@ds01.$site "sh int desc | inc $rack"
sshpass -p $password ssh $username@ds02.$site "sh int desc | inc $rack"
sshpass -p $password ssh $username@ds03.$site "sh int desc | inc $rack"
sshpass -p $password ssh $username@ds04.$site "sh int desc | inc $rack"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"7") echo "Đang kiểm tra hàng xóm DS LLDP..."
sshpass -p $password ssh $username@ds01.$site "sh lldp neigh | inc $rack"
sshpass -p $password ssh $username@ds02.$site "sh lldp neigh | inc $rack"
sshpass -p $password ssh $username@ds03.$site "sh lldp neigh | inc $rack"
sshpass -p $password ssh $username@ds04.$site "sh lldp neigh | inc $rack"
đọc -rsp $'Nhấn phím bất kỳ để tiếp tục...\n' -n1 phím
;;
"Q") nghỉ 2 ;;
"q") echo -e $blinkred"ERROR: "$red"Whoa! Phân biệt chữ hoa chữ thường, anh bạn!" $none ;;
* ) echo "Xin lỗi, tùy chọn không hợp lệ!" ;;
thoát hiểm
ngủ 1 ) | tee $today.log
xong
nghỉ
;;
thoát hiểm
)
xong
Tôi có một menu chính và hai menu phụ:
Thực đơn chính
|
|_____ Trang A Menu phụ
|
|_____ Menu phụ Trang web B
Với một tùy chọn (Q) để thoát trở lại menu chính nhưng dường như tôi không thể thoát trở lại menu Chính. Tôi đã thử:
nghỉ 2;;
Và:
trở lại ;;
Nhưng cả hai dường như không hoạt động. Tập lệnh chỉ lặp lại trong cùng một lớp vỏ con.
Bất kỳ sự giúp đỡ sẽ được rất biết ơn nhận được. Cảm ơn!