インターネットから特定のインストーラをダウンロードしてインストールし、それを起動するデスクトップファイルを作成して自動的に起動させ、インストーラをアンインストールするbashスクリプトを作成したいのですが、スクリプトで確認する必要があるものがいくつかあります。 。これらは次のとおりです。
インストーラが存在するかどうか(ない場合はダウンロードし、それ以外の場合は実行可能にします)
以前のインストールが存在します(存在する場合はアンインストーラ実行可能ファイルを設定し、それを実行した後に残っているすべてのエントリを削除し、そうでない場合は次の手順に進みます)
apt list | grep gksuでgksuパッケージの状態を確認し(インストールされている場合は次の手順に進み、それ以外の場合はインストール)
gksu example.runの出力
答え1
条件: インストーラ - ls 。 | grep example.runchmod +x pelda.run else wget ダウンロード/リンク/of/example.run
私が理解している限り、上記は次のように翻訳できます。
if [ -f example.run ]
then
chmod +x pelda.run
else
wget download/link/of/example.run
fi
[ -f example.run ]
はこのコマンドの使用例ですtest
。名前付きファイルがexample.run
存在する場合、テストコマンドは戻りコードを0(trueを意味)に設定します。それ以外の場合は、戻りコードを1(偽を意味)に設定します。
条件: gksu - apt list --installed grep gksu if!存在する場合 sudo apt install gksu else gksu pelda.run
上記の内容を解釈すると、次のようになります。
if apt list --installed | grep gksu
then
gksu pelda.run
else
sudo apt install gksu
fi
grep
ここでは、一致が見つかったかどうかに応じて戻りコードを設定するという事実を使用します。apt list --installed
インストールされたパッケージのリストを返します。出力にwhere文字列が含まれている場合、gksu
戻りgrep
コード0(trueを意味)が設定され、対応するthen
句が実行されます。存在しない場合は、そのelse
句が実行されます。