Linux a un which
commande qui vérifiera l'existence d'un exécutable sur votre chemin :
pax> which ls ; echo $?
/bin/ls
0
pax> which no_such_executable ; echo $?
1
Comme vous pouvez le voir, il définit le code de retour $?
pour savoir facilement si l'exécutable a été trouvé.
wget http://download/url/file 2>/dev/null || curl -O http://download/url/file
On peut aussi utiliser command
ou type
ou hash
pour vérifier si wget/curl existe ou non. Un autre fil ici - "Vérifier si un programme existe à partir d'un script Bash" répond très bien à ce qu'il faut utiliser dans un script bash pour vérifier si un programme existe.
Je ferais ça -
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