Имеется некая дискетка с FreeDOS. Она соответсвующим образом смонтирована на запись во FreeBSD.Но не удается записать пару строк autoexec.bat
Пробовал
printf '%s\n%s\n' 'Hello' 'World!' >> $dir_tmp/ourimage/autoexec.bat
echo "AMI.BAT X9DRD5.116" >> $dir_tmp/ourimage/autoexec.batи
echo "Hello" >> $dir_tmp/ourimage/autoexec.bat
echo "World!" >> $dir_tmp/ourimage/autoexec.bat
echo "AMI.BAT X9DRD5.116" >> $dir_tmp/ourimage/autoexec.batВсе равно на выходе:
HelloWorld!AMI.BAT X9DRD5.116P.S. echo -e во FreeBSD не работает....
>[оверквотинг удален]
> echo "World!"
>
> >> $dir_tmp/ourimage/autoexec.bat
> echo "AMI.BAT X9DRD5.116" >> $dir_tmp/ourimage/autoexec.bat
>
Потому что в Windows разделитель строк — \r\n, а в *nix только \n. FreeBSD как таковая тут ни при чём.
Скорее всего, вот так сработает:
echo "Hello\r"; echo "World!\r"
А если нет, то есть 100% портабельный вариант:
printf "Hello\r\nWorld!\r\n"
> А если нет, то есть 100% портабельный вариант:
>printf "Hello\r\nWorld!\r\n"Спасибо, заработало.
>> А если нет, то есть 100% портабельный вариант:
>>printf "Hello\r\nWorld!\r\n"
> Спасибо, заработало.Есть древнющая утиль - dos2unix, правда уже разрослась до мегаконвертера.
$ cat unixfile.txt
Hello
World!$ unix2dos < unixfile.txt > windowsfile.txt
$ cat windowsfile.txt | od -c
0000000 H e l l o \r \n W o r l d ! \r \n
0000017