Linux hat einen which
Befehl, der prüft, ob eine ausführbare Datei in Ihrem Pfad vorhanden ist:
pax> which ls ; echo $?
/bin/ls
0
pax> which no_such_executable ; echo $?
1
Wie Sie sehen können, setzt es den Rückgabecode $?
um leicht festzustellen, ob die ausführbare Datei gefunden wurde.
wget http://download/url/file 2>/dev/null || curl -O http://download/url/file
Man kann auch command
verwenden oder type
oder hash
um zu prüfen, ob wget/curl existiert oder nicht. Ein anderer Thread hier - "Überprüfen Sie, ob ein Programm aus einem Bash-Skript existiert" beantwortet sehr gut, was in einem Bash-Skript zu verwenden ist, um zu überprüfen, ob ein Programm existiert.
Ich würde dies tun -
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