Если Вы не имеете dos2unix
, можно сделать это с sed
:
sed -i 's/\r//g' <THE FILE NAME>
Это удалит все возвраты каретки.
Ваш сценарий является неполным, поскольку он пропускает завершение EOF
литерал.
я пытаюсь объяснить сценарий:
первая строка просто присваивается "привет" к переменной string
.
string="hello"
2-я строка запускается ed
команда и подача это (через stdin
) следующие строки, пока это не встречается EOF
литерал (<< foo
средства: следующие строки до foo
перенаправляются к stdin
)
ed << EOF
следующие строки ed
команды.
откройте файл, названный *any_file* (e any_file
), и вставить 1i
строка ${string}
(это будет расширено до "привет").
но так как Вы пропускаете завершение EOF
литерал, stdin-перенаправление бросает ошибку.