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