1

Я создал скрипт Bash в Notepadd++ и сделал это по ошибке в EOL Conversion EOL conversion > Windows . Затем я запускаю его на Bash, но было много проблем и ошибок (например, каждая пустая строка с отступом в одну вкладку отображается в виде точки).

Глубокая проверка с помощью команды cat -v выявила некоторые скрытые символы, похожие на Windows, в файле, добавленные Notepad++, в котором были вставлены некоторые скрытые символы форматирования окон, в результате чего bash неверно истолковал файл.

Хотя я уже изменил режим EOL на Unix, кажется, что весь файл все еще отформатирован в стиле Windows. Теперь я могу удалить все вкладки и возвраты каретки и сохранить заново, но есть ли автоматический способ изменить его на форматирование Nix, о котором вы знаете?

Спасибо,

2 ответа2

1

Вы можете попробовать dos2unix, чтобы конвертировать ваш файл в формат Unix.

В качестве альтернативы, в Notepad++ проверьте, на что установлена кодировка - в идеале вам понадобится UTF-8 (используйте «Преобразовать в UTF-8» на вкладке «Кодировка»).

1

Это очень легко исправить с помощью основных инструментов для работы с текстом. Любая из приведенных ниже команд исправит ваш файл:

  1. СЭД:

    sed -i 's/\r//' file.sh
    
  2. Perl

    perl -i -pe 's/\r//' file.sh
    
  3. тр

    tr -d $'\r' < file > newfile && mv newfile file
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .