だから私は、net-tools、OpenSSH、Omada Controllerなど、私に合った標準ソフトウェアをインストールするための標準シェルスクリプトを作成しようとしています。 TP Link Omadaコントローラソフトウェアの標準.debを起動するには、いくつかの追加コマンドを正しく設定する必要があるためです。そのうちの1つがコマンドです。
update-alternatives --config java
これにより、0、1、2の3つのオプションを持つプロンプトが表示されます。答えは2でなければなりません。常に、または少なくとも現在リリースされているバージョンではそうです。
これが現在コントローラスクリプトにあります。自動的にインストールするのではなく、ユーザーにインストールを希望するかどうかを尋ねるために、これらすべてを「while」ステートメントに配置する予定です。すべてが好きなように機能したら、printfを削除できます。
#install omada controller
cd /tmp
apt -y install gdebi-core
apt -y install openjdk-8-jdk
printf ${RED}"----------------------------\n\nPress 2 in this next prompt\n\n----------------------------\n"${NC}
update-alternatives --config java
wget https://static.tp-link.com/2020/202012/20201211/omada_v4.2.8_linux_x64.deb
export JAVA_HOME=/usr/lib/jvm/default-java
echo $JAVA_HOME
gdebi omada_v4.2.8_linux_x64.deb
これをシェルスクリプトに入れる方法はありますか? CLIでスクリプトが実行されるのと同じ行に答えを指定する方法を見たことがありますが、これは私が望むものではありません。完全に自動化し、インストール中に既存のプロンプトのいくつかを使用し、上記のパッケージをインストールするように求められます。
ベストアンサー1
--configue
この対話型オプションを2つの自動オプション、つまり--query
と--set
:に分割できます。
update-alternatives --query <package>
--install
代替パッケージをインストール/削除するには、およびオプションを使用できます--remove
。
構成済みパッケージの表示update-alternatives
優先順位の設定:
update-alternatives --set <package> <PATH>
コマンドgdebi
は次のように実行できます。
LANG=en_US.UTF-8 yes |gdebi omada_v4.2.8_linux_x64.deb