7

wget を使用してファイルをダウンロードするスクリプトを実行しようとしています。Linux に wget が存在しない場合は curl を使用します。スクリプトで wget の存在を確認するにはどうすればよいですか?

4

6 に答える 6

10

Linux には、whichパス上に実行可能ファイルが存在するかどうかを確認するコマンドがあります。

pax> which ls ; echo $?
/bin/ls
0

pax> which no_such_executable ; echo $?
1

ご覧のとおり、リターン コードを設定して$?、実行可能ファイルが見つかったかどうかを簡単に判断できるようにします。

于 2013-01-19T04:32:34.910 に答える
5

commandまたは またはtypeまたはを使用hashして、wget/curl が存在するかどうかを確認することもできます。ここの別のスレッド - 「Bashスクリプトからプログラムが存在するかどうかを確認する」は、プログラムが存在するかどうかを確認するためにbashスクリプトで何を使用するかを非常にうまく答えます。

私はこれをするだろう -

if [ ! -x /usr/bin/wget ] ; then
    # some extra check if wget is not installed at the usual place                                                                           
    command -v wget >/dev/null 2>&1 || { echo >&2 "Please install wget or set it in your path. Aborting."; exit 1; }
fi
于 2013-02-21T16:09:54.963 に答える