Linux ha un which
comando che verificherà l'esistenza di un eseguibile sul tuo percorso:
pax> which ls ; echo $?
/bin/ls
0
pax> which no_such_executable ; echo $?
1
Come puoi vedere, imposta il codice di ritorno $?
per sapere facilmente se l'eseguibile è stato trovato.
wget http://download/url/file 2>/dev/null || curl -O http://download/url/file
Si può anche usare command
o type
o hash
per verificare se wget/curl esiste o meno. Un altro thread qui - "Controlla se esiste un programma da uno script Bash" risponde molto bene a cosa usare in uno script bash per verificare se esiste un programma.
Farei così -
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