Я писал сценарий в vim, уронил клавиатуру и продолжил писать код.
Я не заметил, что мой курсор изменился с обычного курсора типа _ на блок []. (как будто я нажал на кнопку вставки в терминале Windows)
Я запустил свой скрипт и получил /bin /bash ^ M: ошибка интерпретатора.
С большим количеством прибегая к помощи, ^ M - возврат каретки с досом ... но когда я нажимаю ввод в терминале, это выглядит как нормальный возврат каретки. Но Bash интерпретирует это как ^ M.
Я практически грохнул клавиатуру, чтобы увидеть, что я ударил, чтобы изменить это. может кто-нибудь помочь мне здесь?
1
2 ответа
3
Когда вы уронили клавиатуру, она не только нажала клавишу « Вставить» , но и смогла ввести команду :set tx
. Выполните команду :set fileformat=unix
в буфере редактирования для соответствующего файла, а затем повторно сохраните буфер.
0
Чтобы преобразовать файл с ограничителями строки CRLF в LF, запустите:
sed 's/\r$//' -i your-script-filename
Если это проблема в vim (а не в вашем терминале), посмотрите на gVim, показывающий возврат каретки (^ M), даже когда файловый режим явно DOS