Я использую команду printf, чтобы добавить несколько байтов в мой файл, чтобы он действовал как метка порядка байтов.
Ниже приведен мой сценарий SH
title: add_bom.sh
FILE=$1
printf '\xFF\xFE' >> $1
На моем терминале PuTTY, когда я делаю напрямую
printf '\xFF\xFE' >> test.xls
, результат верный, как и ожидалось, и xxd test.xls отображает ff и fe в первой строке
Однако, когда я запускаю его через SH
sh add_bom.sh test.xls
, результат неверен, и \ xFF \ xFE появляется в конце файла test.xls в виде текста
Почему это так?так?