Linuxカーネル構築プロセスを自動化するスクリプトを書いています。私のスクリプトには、プロンプトがあります。はい/いいえ、その他は特定のアクションです。これが私の質問です:関数を適切に閉じて、その関数が実行された後に次のオプションに移動する方法は?指定されたアクションにジャンプし、その間のプロンプト/アクションをバイパスするにはどうすればよいですか?次に例を示します。
#!/bin/bash
echo "Do you need to install the necessary compiling tools?"
select yn in "Yes" "No"; do
case $yn in
Yes ) sudo apt-get install tools; break;;
No ) <Here I want to skip to the next step. I originally left it
blank and removed the "done" command (after esac command)
to do this, but if I choose yes, it skips to the end
(where the next "done" command is and ends the script>
esac
<I had to flip the yes/no for the script to skip to the next prompt>
echo "Do you need to eidt your configuration?"
select ny in "No" "Yes"; do
case $ny in
No ) <what do I put here to skip to the next tag
(labeled compile for example purposes); break;;
Yes )
esac
echo "You have 3 options with how you can edit you config file."
select yn in "Gtk" "KDE" "Terminal"; do
case $yn in
Gtk ) make gconfig; break;;
KDE ) make xconfig; break;;
Terminal ) make menuconfig; break;;
esac
done
done
done <I had to insert all these "done" to end the file, but
the scripts doesn't work the way I want it to...>
echo "Are you ready to compile"
select yn in "Yes" "No"; do
case $yn in
Yes ) make; break;;
No ) exit;;
esac
done
したがって、基本的にスクリプトは段階的に実行されます。1.ツールをインストールする必要がありますか-はいの場合、ツールをインストールして次の手順に進みます-いいえの場合、次の手順に進みます2.構成ファイルを編集しますか-はいの場合、どのように; --opt1 --opt2 --opt3 -次に、終了したら、次の手順にスキップします-いいえの場合は、次の手順にスキップします3.コンパイルします。