Подтвердить что ты не робот

Env: bash\r: Нет такого файла или каталога

Я пытаюсь установить YouCompleteMe из здесь.

Когда я выполняю:

    ./install.sh --clang-completer

Я получаю эту ошибку:

    env: bash\r: No such file or directory

Я не знаю, что случилось с переменными окружения. Здесь мой путь bash:

which bash 
/bin/bash

Нужно ли изменить его на /usr/ bash? Если да, то как мне это сделать? Я попытался изменить файл ~/.bashrc, но это не сработало.

4b9b3361

Ответ 1

Сообщение об ошибке предполагает, что script, который вы вызываете, имеет встроенные \r символы, что, в свою очередь, предполагает, что он имеет конец строки \r\n в стиле вместо \n - только окончание строк bash ожидает.

Как быстрое исправление, вы можете удалить символы \r. следующим образом:

 sed $'s/\r$//' ./install.sh > ./install.Unix.sh

а затем запустите

./install.Unix.sh --clang-completer

Однако, чем больше вопрос, почему вы закончили с \r\n -стильными файлами - скорее всего, будут затронуты и другие файлы.

Возможно, вы используете Git в Windows, где типичная конфигурация предназначена для преобразования Unix-style \n -одно разрывов строк в строки \r\n в стиле Windows при проверке файлов и повторной конвертации на \n - только разрывы строк при фиксации.

Хотя этот имеет смысл для разработки в Windows, он мешает сценариям установки, как эти.

Чтобы сделать Git проверить файлы с окончанием файлов в стиле Unix в Windows - по крайней мере временно - используйте:

git config --global core.autocrlf false

Затем снова запустите свои команды установки с помощью git clone.

Чтобы восстановить поведение Git позже, запустите git config --global core.autocrlf true.

Ответ 2

В вашем файле завершены строки Windows. Перейдите к окончанию строки Unix.

Ответ 3

Развернулось во что-то подобное. Вы можете использовать dos2unix install.sh для преобразования окончаний строки. Несколько файлов через find [pattern] | xargs dos2unix

Ответ 4

>vim gradlew
:set fileformat=unix
:wq
>./gradlew clean build

Ответ 5

быстрая команда для преобразования концов строки:

dos2unix thescript.sh

Ответ 6

откройте файл в редакторе Notepad++. Выберите Container, перейдите в Edit → EOL Conversion и нажмите Unix (Lf). no try to run command

или же

Скопируйте ваш файл в /usr/local/bin/

как разработчик докера cp/w-install-xyz xyz-xyz-xyz: /usr/local/bin/install-xyz и запустите команду