次のような複雑なメニュードライバがあります。
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
(ToDoリスト項目を追加/削除/編集/表示できる簡単なToDoリストアプリと考えてください。したがって、追加、削除などの操作が行われます。)
そのうちのいくつかはaction
少し長いので、作業の途中でユーザーが心を変えて他の作業を試みるためにデフォルトのプロンプトに戻りたいと思うかもしれません。
私の質問は、ユーザーをデフォルトのプロンプトに戻すにはどうすればよいですか?ユーザーがに移動できる簡単なキー押下ハンドラを持ちたいですselect
。可能ですか、それとも他の方法はありますか?
ベストアンサー1
基本プログラムを再起動できます。
# User wants to return to main
exec main.sh
現在実行中のスクリプトが削除されますmain.sh
。
新しい起動にはエクスポートされた変数のみが使用されることに注意してくださいmain.sh
。