Linux tiene un which
comando que verificará la existencia de un ejecutable en su ruta:
pax> which ls ; echo $?
/bin/ls
0
pax> which no_such_executable ; echo $?
1
Como puede ver, establece el código de retorno $?
para saber fácilmente si se encontró el ejecutable.
wget http://download/url/file 2>/dev/null || curl -O http://download/url/file
También se puede usar command
o type
o hash
para verificar si wget/curl existe o no. Otro hilo aquí:"Comprobar si existe un programa desde un script Bash" responde muy bien qué usar en un script bash para comprobar si existe un programa.
Yo haría esto -
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