Bashスクリプトif-else条件[閉じる]

Bashスクリプトif-else条件[閉じる]

インターネットから特定のインストーラをダウンロードしてインストールし、それを起動するデスクトップファイルを作成して自動的に起動させ、インストーラをアンインストールする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句が実行されます。

おすすめ記事