2016-06-09 9 views
0

Я хочу запустить несколько команд «compass watch» через скрипт оболочки в Cygwin. Похоже, я полностью забыл сценарий оболочки. Это то, что я пробовал:Как запустить несколько «часов компаса» через скрипт оболочки в Cygwin?

#!/bin/bash 
sitea="/cygdrive/c/xampp/htdocs/sitea/themes/siteatheme/css/" 
siteb="/cygdrive/c/xampp/htdocs/siteb/themes/sitebtheme/css/" 
sitec="/cygdrive/c/xampp/htdocs/sitec/themes/sitectheme/css/" 
sited="/cygdrive/c/xampp/htdocs/sited/themes/sitedtheme/css/" 
sitee="/cygdrive/c/xampp/htdocs/sitee/themes/siteetheme/css/" 
sitef="/cygdrive/c/xampp/htdocs/sitef/themes/siteftheme/css/" 

for i in sitea siteb sitec sited sitee sitef 
    do 
    compass watch "$i" & 
    done 

Я получаю следующее сообщение об ошибке повторяется 6 раз:

$ C:\Installation\Ruby22-x64\bin\ruby.exe: No such file or directory -- /cygdrive/c/Installation/Ruby22-x64/bin/compass (LoadError) 

Похоже, он не в состоянии найти compass команду, но когда я печатаю в compass watch от Баша терминал, он работает нормально. Как это исправить?

+0

Сообщение об ошибке очень ясно. У вас в PATH установлена ​​рубиновая установка Windows, которая не может понять путь cygwin – matzeri

+0

@matzeri Итак, как мне исправить это? – user1448031

+0

Установили ли вы cygwin ruby? У вас/usr/bin/'в PATH, а не в каталогах cygwin? Он должен быть по умолчанию, если вы не переопределили PATH на '.bash_profile' или' .bashrc' – matzeri

ответ

0

Исправьте это, пройдя пути в стиле Windows к компасу и используя cygstart. попробовать что-то вроде этого:

cygstart /cygdrive/c/Installation/Ruby22-x64/bin/compass watch $(cygpath -w $i)

cygstart передаст управление окна оболочки. cygpath -w преобразуется в путь Windows.

 Смежные вопросы

  • Нет связанных вопросов^_^