2013-09-15 4 views
0

Я загрузил dna.sh из Github, и я не могу заставить его работать на cygwin. Когда я использую команду,Как запустить dna.sh из cygwin?

sh dna.sh 

, я получаю ошибку,

: No such file or directory 
dna.sh: line 7: $'\r': command not found 
dan.sh: line 9: syntax error near unexpected token `$'do\r' ' 
'na.sh: line 9: `for j in f b; do 

Содержание dna.sh здесь: https://github.com/jaykru/colorscripts/blob/master/dna.sh

+0

Поиск [с этим] (http://stackoverflow.com/search?q=%22%24%27%5Cr%27%3A+command+not+found%22+is%3Aquestion) для других подобных случаев , – Mat

+1

попытайтесь сделать 'dos2unix sna.sh' или' fromdos dna.sh' –

+0

Вы уверены, что скопировали контент правильно, потому что он работает для меня. – user1502952

ответ

2

ли вы записать файл в Windows, и теперь выполняются в Cygwin? Пожалуйста, не говорите, что вы использовали Notepad.exe.

dope slap!

Ваша проблема заключается в том, что Windows помещает символ возврата каретки и символ линии в конце каждой строки \r\n. Однако Unix (и Cygwin) настаивают на том, что правильная комбинация окончания строки - это простой Linefeed \n.

Используйте настоящий программный редактор для написания своих программ. Не используйте Блокнот. Загрузите Notepad++ и установите его для использования LF (окончание строк Unix) для всех ваших сценариев оболочки. Или научитесь редактировать свои файлы в Cygwin. Вы можете использовать VIM или gmacs (gmacs - отличная операционная система. Слишком плохо нет редактора. // old Editor war joke //).

На самом деле, существует множество GUI editors on Cygwin, но вам нужно заставить X11 работать.

Вы можете попробовать dos2unix на Cygwin - если вы его установили.

+0

Большое вам спасибо! Ты был прав. Я знал, что не должен использовать Notepad.exe, но я не знал, что должен установить Notepad ++ в LF. –

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