Как использовать Coffeescript и shellJS для написания исполняемых скриптов оболочки?

Я установил coffeescript и shellJS, используя NPM. У меня есть тестовый скрипт, shtest.coffee:

#!/usr/local/bin/coffee
require 'shelljs/global'
echo 'hello'
exit 1

Запуск скрипта с кофе работает нормально:

$ coffee shtest.coffee
hello

Или с shjs:

$ shjs shtest.coffee
hello

Но не напрямую:

$ chmod u+x shtest.coffee
$ ./shtest.coffee
./shtest.coffee: line 2: require: command not found
hello

Изменение Шебанга, чтобы указать на /usr/local/bin/js не помогает

Похоже, что скрипт запускается как скрипт bash. Что я делаю неправильно? OS X Snow Leopard.

1 ответ

Решение

Попробуйте использовать

#!/usr/bin/env coffee

как ваша линия Шебанга. Это работает для меня, по крайней мере, хотя я не уверен, почему именно (кроме того, что-то связано с ENV)

Другие вопросы по тегам