Как использовать 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)