Ho riscontrato alcuni problemi durante l'esecuzione di alcuni script di installazione di cui si sono lamentati bad interpreter
.
Quindi ho fatto un esempio banale ma non riesco a capire quale sia il problema, vedi sotto.
#!/usr/bin/env bash
echo "hello"
L'esecuzione dello script precedente provoca il seguente errore
[root@ech-10-24-130-154 dc-user]# ./junk.sh
bash: ./junk.sh: /usr/bin/env: bad interpreter: No such file or directory
Il /usr/bin/env
file esiste, vedi sotto:
[root@ech-10-24-130-154 dc-user]# ls -l /usr/bin/env
lrwxrwxrwx 1 root root 13 Jan 27 04:14 /usr/bin/env -> ../../bin/env
[root@ech-10-24-130-154 dc-user]# ls -l /bin/env
-rwxr-xr-x 1 root root 23832 Jul 16 2014 /bin/env
[root@ech-10-24-130-154 dc-user]#
Se modifico lo script per usare il normale shebang, #!/bin/bash
non funziona. #!/bin/env bash
funziona anche.
Cosa manca all'ambiente per consentire al shebang portatile di funzionare?
ls -lL /usr/bin/env
ritorna ls: cannot access /usr/bin/env: No such file or directory
quindi suppongo di dover modificare il link simbolico? Posso indicarlo /bin/env
?
env --version
è 8.4 e il sistema operativo è Red Hat Enterprise Linux Server versione 6.6.