O sistema de arquivos run.sh está ativado foi montado noexec .
Digamos que eu tenha um arquivo chamado run.sh que contém:
#! /bin/sh -x
x-www-browser index.html
E ls -l run.sh diz:
-rwxr-xr-x 1 myusername myusername 39 Jan 9 19:32 run.sh
E ./run.sh diz:
bash: ./run.sh: Permission denied
Por que isso não funciona? Por que sh -x run.sh funciona perfeitamente?
Mais informações, já que não é tão fácil, aparentemente
Se eu fizer um sudo , ele não emitirá um erro, mas também não fará nada.
myusername@crunchbang:/mnt/data$ sudo ./run.sh
[sudo] password for myusername:
myusername@crunchbang:/mnt/data$
Meu palpite é que a linha #! tem algum caractere estranho, talvez um ASCII Nul ou outro caractere não imprimível, um backspace - algo, talvez. Alguns shells tiveram um problema com os marcadores de fim de linha de dois bytes do MS-DOS / Windows (carriage-return linefeed). Os editores modernos podem examinar arquivos e decidir se são arquivos de texto estilo Unix (alimentação de linha) ou estilo Windows (e talvez até estilo Mac). Talvez você tenha misturado seu editor e escrito um arquivo de texto do Windows.
Isso faz com que o kernel não encontre o "executável" que é tão especificado, e afirma que ele não pode executar o "executável" inexistente.
Tags permissions shell