다음과 같은 복잡한 메뉴 드라이버가 있습니다.
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
.