"команда не найдена" при запуске "lessc" из bash
Я установил lessc
с помощью npm
, Менеджер пакетов Node.js, и когда я запускаю lessc
от терминала с помощью
lessc /var/www/less/style.less /var/www/css/style.css
это работает отлично.
Однако, когда я помещаю эту же команду в скрипт bash, less.sh
возвращает ошибку
lessc : command not found.
Также мне нужно запустить эту команду из скрипта bash, потому что incron
Программа, которую я использую для повторной компиляции своего сценария less при каждой их модификации, не может запустить указанную выше команду, которая, как я полагаю, может быть вызвана странными методами обработки пробелов в команде.
3 ответа
Где находится исполняемый файл "lessc"? Делать:
type -p lessc
и запомните каталог, и выясните, где этот каталог добавлен в вашу PATH. Я думаю, что bash и incron не используют ваши установочные файлы (.bashrc и т. Д.) Одинаково. Читая справочную страницу Bash, раздел INVOCATION описывает, как bash находит свои файлы запуска. Быстрый поиск источника incron показывает, что он не упоминает.bashrc или.bash_profile.
Вы можете изменить команду "lessc" в вашем скрипте на:
/actual/path/to/lessc
что вы нашли через
type -p lessc
npm install -g less
Это устанавливает Less.js во всем мире. Возможно, вы уже попробовали это, но этого нет в документации на http://lesscss.org/; Я должен был спросить в #node.js на FreeNode.
В Лубунту:
$ type -p lessc
$ lessc
El programa «lessc» no está instalado. Puede instalarlo escribiendo:
sudo apt-get install node-less
$ sudo apt-get install node-less