giúp tôi vấn đề trong kịch bản shell của tôi


1

Tôi cần quay lại từ 2 hoặc 3 đến 1 sau khi in lỗi ??

 1      echo -e "program set defulte home dirctory /home/admin/$un"
        echo -e "DO you want use defulte home dirctory? Yes=1 & NO=2"
    read -a hd1
    case $hd1 in
            1)
             hd=`/home/admin/$un` #40
             echo -e "your home dirctory $hd1 " ;;
            2)
             echo -e "Please insert name your home dirctory between 1 to 10 character:"
            read -a hda
            len1=${#hda}
            if [ "$len1" -eq "$ze" ];then
             echo "There is no Argument home dirctory" # error message
 2          exit
            fi
            if [ "$len1" -ge "$te" ];then #50
             echo "The argument home dirctory  maximum 10 alphanumeric" # error message
 3          exit     
            fi
            hd=`/home/admin/$hda`;;
            *) echo " You have selected wrong Choice!!!" ;;
    esac

Bạn có thể muốn sử dụng một vòng lặp while.
Kris Harper

Câu trả lời:


1

Sử dụng vòng lặp while để giữ câu hỏi chạy và thoát ra khỏi câu hỏi khi được thực hiện như hình dưới đây

while :; do  # : evaluates to true, so "while true; do ...; done"
    echo "Choose A or B"
    read answer
    case "$answer" in
      [Aa]) # match case-insensitive A
        echo "A was chosen"
        break    # leave the while-loop
        ;;
      [Bb]) # match case-insensitive B
        echo "B was chosen"
        break    # leave the while-loop
        ;;
      *)
        echo "Please choose A or B only"
        ;;
    esac
done

cảm ơn bạn "" "nhưng trong chọn 2 = không trong yêu cầu của tôi, tôi sẽ kiểm tra đối số nhập từ người dùng trong khoảng từ 0 đến 10 ký tự nếu quay lại sai để chọn 1 hoặc 2
Người mới bắt đầu

Có vẻ như bạn đang sử dụng Google Dịch, tôi khó có thể hiểu bạn. Nhìn kỹ vào mã của tôi, bạn sẽ có thể tìm ra cách triển khai logic. breaksẽ ngăn không cho hỏi một câu hỏi một lần nữa.
Lekensteyn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.