상위 메뉴로 돌아가는 방법은 무엇입니까?

상위 메뉴로 돌아가는 방법은 무엇입니까?

다음과 같은 복잡한 메뉴 드라이버가 있습니다.

echo "Navigate through the following choices when you get the #? prompt: "
options=("Action 1" "Action 2" ...)
select $opt in "${options[@]}"
do
    case $opt in
        "Action 1")
            ./action1.sh 
            ;;
        "Action 2")
            ./action1.sh 
            ;;
        ...
    esac
done

(할 일 목록 항목을 추가/제거/편집/볼 수 있는 간단한 할 일 목록 앱이라고 생각하세요. 따라서 추가, 삭제 등의 작업이 수행됩니다.)

그 중 일부는 action약간 길기 때문에 작업 중간에 사용자가 마음을 바꾸고 다른 작업을 시도하기 위해 기본 프롬프트로 돌아가고 싶어할 수 있습니다.

내 질문은 사용자를 기본 프롬프트로 되돌리려면 어떻게 해야 합니까? 사용자가 로 이동할 수 있는 간단한 키 누르기 핸들러를 갖고 싶습니다 select. 가능합니까, 아니면 다른 방법이 있습니까?

답변1

기본 프로그램을 다시 시작할 수 있습니다.

 # User wants to return to main
 exec main.sh

현재 실행 중인 스크립트가 삭제되고 main.sh.

새로운 시작에는 내보낸 변수만 사용된다는 점에 유의하세요 main.sh.

관련 정보