Isso geralmente acontece quando a linha shebang ( #!
) no seu script está quebrada.
O shebang é o que diz ao kernel que o arquivo precisa ser executado usando um interpretador. Quando executado sem sudo
, a mensagem é um pouco mais significativa. Mas com sudo
você recebe a mensagem que recebeu.
Por exemplo:
$ cat test.sh
#!/bin/foo
echo bar
$ ./test.sh
bash: ./test.sh: /bin/foo: bad interpreter: No such file or directory
$ bash test.sh
bar
$ sudo ./test.sh
sudo: unable to execute ./test.sh: No such file or directory
$ sudo bash ./test.sh
bar
A mensagem bad interpreter
indica claramente que é a shebang que está com defeito.