
다음 줄을 따라 복잡한 메뉴 기반 프로그램이 있습니다.
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
.