Домой Учебники по Linux и Unix синтаксическая ошибка: `^ M 'неожиданно — используйте dos2unix: DOS в UNIX конвертер...

синтаксическая ошибка: `^ M 'неожиданно — используйте dos2unix: DOS в UNIX конвертер текстовых файлов

669
0

На прошлой неделе я работал над проектом Eclipse, который требует от меня создания одного исполняемого файла .sh (shell script) файл. Вот содержимое файла Crunchify.sh.

Crunchify.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
#! / bin / Баш
эхо      ——————————-
эхо Запуск Crunchify проекта
эхо      ——————————-
CLASSPATH = $ CLASSPATH : ./lib : .
экспорт CLASSPATH
CD / crunchify / project
Джава баночка Crunchify. яс

Я работал в среде Windows, поэтому во время развертывания я скопировал все свои файлы проекта в коробку разработчика Linux. Во время работы я получил эту странную ошибку.

1
2
[ root @ appshah scripts ] # ./Crunchify.sh
bash : , Хрустеть . ш : / bin / bash ^ M : плохой переводчик : Нет такого файла или каталог

После того, как почесал голову в течение почти 10 минут, обнаружил проблему с форматом файла. Файл не был правильно создан в формате UTF-8 и Unix.

ЧИТАТЬ ТАКЖЕ:  Bash / Sh: Как читать файл построчно? Пример Linux Loop

Теперь вот простое решение:

использование dos2unix Полезность:

DOS2UNIX включает в себя утилиты для преобразования текстовых файлов с DOS или MAC разрывы строк в Unix и наоборот. Это также включает преобразование UTF-16 в UTF-8.

Вышеупомянутое решение отлично работает для пользователей Windows, но что делать, если вы работаете в MAC OS X ? Ну, для этого тоже есть простой трюк.

Для пользователя MAC OS X — альтернатива dos2unix

1
2
$ Кот Хрустящий . ш | седло б > Crunchify2 . ш
мв Crunchify2. ш Хрусти . ш

Где Crunchify.sh это файл, который имеет Control+M символы в конце строки и Crunchify2.sh новый файл, который вы создаете!

NOTE: Попробуйте использовать другое имя для целевого файла. Надеюсь, это поможет. Наслаждайтесь и счастливого кодирования.

синтаксическая ошибка: `^ M 'неожиданно — используйте dos2unix: DOS в UNIX конвертер текстовых файлов

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь