autogen.sh не работает в Ubuntu в Windows

Я установил Ubuntu на Windows, а затем клонировал https://github.com/bitcoin/bitcoin .

cd bitcoin
./autogen.sh

Который вернул это:

: not foundh: 5: ./autogen.sh:
./autogen.sh: 6: set: Illegal option -

Что я здесь делаю неправильно? Я что-то пропустил или мне нужно поднять это как проблему на GitHub?

Спасибо!

РЕДАКТИРОВАТЬ: Вот скриншот:

введите описание изображения здесь

autogen.shэто shскрипт, а не bashскрипт. Что произойдет, если вы побежите sh autogen.sh?

Ответы (3)

Это означает, что в вашем файле есть новые строки DOS, то есть скрытые символы CR в конце. Таким образом, set -eстановится set -e$'\r'(с использованием синтаксиса, характерного для bash, для представления символа CR), что не является допустимым вариантом.

Чтобы исправить это, если у вас установлен dos2unix, вы можете запустить:dos2unix autogen.sh

Вот как я решил проблему с помощью Git в Windows. Обратите внимание, что он сбросит ваш локальный с мастером.

git config --global core.autocrlf false
git reset --hard origin/master

Затем я смог использовать подсистему Ubuntu в Windows для запуска ./autogen.sh без ошибки в OP.

Мне кажется, что вы находитесь не в том каталоге, так как в bitcoinкаталоге определенно есть файл autogen.sh.

Вы уверены, что находитесь в том же bitcoinкаталоге, который только что клонировали? Что lsвозвращает (список содержимого каталога)?