Se você vir o erro “: Não existe esse arquivo ou diretório” (sem nada antes dos dois pontos), significa que sua linha shebang possui um retorno de carro no final, provavelmente porque foi editada no Windows (que usa CR, LF como um separador de linha). O caractere CR faz com que o cursor volte ao início da linha depois que o shell imprime o início da mensagem e, portanto, você só consegue ver a parte após o CR que encerra a sequência do interpretador que faz parte da mensagem de erro.
Remova o CR: a linha shebang precisa ter uma linha Unix finalizada (apenas avanço de linha). O próprio Python permite terminações de linha CRLF, para que os caracteres CR em outras linhas não sejam prejudicados. Os scripts de shell, por outro lado, devem estar livres de caracteres CR.
Para remover as terminações de linha do Windows, você pode usar o dos2unix :
sudo dos2unix / usr / local / bin / casperjs
ou sed:
sudo sed -i -e 's / \ r $ //' / usr / local / bin / casperjs
Se você precisar editar scripts no Windows, use um editor que lide com as terminações de linha do Unix (ou seja, com menos morte cerebral que o Bloco de Notas) e verifique se ele está configurado para gravar as terminações de linha do Unix (somente LF) ao editar um arquivo Unix.