Якщо ви бачите помилку ": Немає такого файлу чи каталогу" (без нічого перед двокрапкою), це означає, що ваша лінія shebang має повернення каретки в кінці, імовірно, тому, що вона була відредагована в Windows (яка використовує CR, LF як роздільник ліній). Символ CR змушує курсор повернутися до початку рядка після того, як оболонка надрукує початок повідомлення, і тому ви побачите лише частину після CR, яка закінчує рядок інтерпретатора, що є частиною повідомлення про помилку.
Видаліть CR: лінія shebang повинна мати закінчення рядка Unix (лише для передачі рядків ). Сам Python дозволяє закінчити рядки CRLF, тому символи CR в інших рядках не зашкодять. Сценарії оболонки з іншого боку не повинні містити символів CR.
Щоб видалити закінчення рядків Windows, ви можете використовувати dos2unix :
sudo dos2unix / usr / local / bin / casperjs
або sed:
sudo sed -i -e 's / \ r $ //' / usr / local / bin / casperjs
Якщо ви маєте редагувати сценарії в Windows, використовуйте редактор, який справляється з закінченнями рядків Unix (тобто щось менш мертве, ніж блокнот), і переконайтеся, що він налаштований для запису закінчень рядків Unix (тобто лише LF) під час редагування файлу Unix.