
Estoy en Linux Mint 19.03.
Tengo un archivo de script de configuración de Shell, setup.sh
. cuando corro./setup.sh
muyustan@mint:~/Downloads/quartusExtracted$ ./setup.sh
bash: ./setup.sh: /bin/env: bad interpreter: No such file or directory
El asunto en setup.sh
:
#!/bin/env bash
Mi comprensión de estas cosas es muy limitada, ya que soy bastante nuevo en el mundo de Linux.
Sabía que usar /bin/env bash
en lugar de dar la ruta exacta bash
era algo así como "buscar en las variables de entorno e intentar encontrar bash
". Cuando busco /bin
el directorio env
, veo que no existe dicho archivo:
muyustan@mint:/usr/bin$ ll /bin | grep "env"
lrwxrwxrwx 1 root root 6 Mar 21 14:35 open -> openvt*
-rwxr-xr-x 1 root root 18872 Jan 22 2018 openvt*
También,
muyustan@mint:~/Downloads/quartusExtracted$ which bash
/bin/bash
Entonces, asumo que cambiar el shebang en setup.sh
to #! /bin/bash
resolverá el problema (no lo he intentado), sin embargo, esto no parece muy intuitivo, porque si es así entonces me pregunto eso,
"¿Cometieron un error los desarrolladores de esta aplicación (Quartus 13.1)? ", lo que me lleva a pensar que algo anda mal con mi sistema.
Entonces la pregunta es: ¿a qué se debe esta situación?
Gracias.
Respuesta1
No hay ningún problema con tu sistema, simplemente estás usando la ruta incorrecta a env
. En los sistemas Linux, al menos, el env
binario normalmente está en /usr/bin
y no /bin
:
$ type env
env is /usr/bin/env
Entonces, su secuencia de comandos le indica a su sistema que use /bin/env
, que no existe, y es por eso que recibe ese error. Simplemente cambie al shebang correcto y debería estar bien:
#!/usr/bin/env bash