Si ve el error ": No existe tal archivo o directorio" (sin nada antes de los dos puntos), significa que su línea shebang tiene un retorno de carro al final, presumiblemente porque fue editado en Windows (que usa CR, LF como separador de línea). El carácter CR hace que el cursor retroceda al comienzo de la línea después de que el shell imprime el comienzo del mensaje y, por lo tanto, solo puede ver la parte después de CR que finaliza la cadena de intérprete que es parte del mensaje de error.
Elimine el CR: la línea shebang debe tener un final de línea Unix (solo salto de línea). Python mismo permite terminaciones de línea CRLF, por lo que los caracteres CR en otras líneas no duelen. Los scripts de shell, por otro lado, deben estar libres de caracteres CR.
Para eliminar las terminaciones de línea de Windows, puede usar dos2unix :
sudo dos2unix / usr / local / bin / casperjs
o sed:
sudo sed -i -e 's / \ r $ //' / usr / local / bin / casperjs
Si debe editar scripts en Windows, use un editor que haga frente a las terminaciones de línea de Unix (es decir, algo menos mortal que el Bloc de notas) y asegúrese de que esté configurado para escribir terminaciones de línea de Unix (es decir, solo LF) al editar un archivo Unix.