[SOLVED] printf \\xNN not work in script

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
IMB
Сообщения: 2559
ОС: Debian

[SOLVED] printf \\xNN not work in script

Сообщение IMB »

Доброго дня!
Ипользую стандартный метод для вывода символа соответствующего шестнадцетиричному коду

Код: Выделить всё

~$ printf \\x6e
n

К сожалению это с некоего времени перестало работать в скиптах

Код: Выделить всё

~$ cat /tmp/test.sh
#!/bin/sh

printf \\x6e

~$ sh -x /tmp/test.sh
+ printf \x6e
\x6e

Как можно починить?
Спасибо.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5281
ОС: Gentoo

Re: [SOLVED] printf \\xNN not work in script

Сообщение /dev/random »

IMB писал(а):
25.11.2017 20:03
Доброго дня!
Ипользую стандартный метод для вывода символа соответствующего шестнадцетиричному коду

Код: Выделить всё

~$ printf \\x6e
n

К сожалению это с некоего времени перестало работать в скиптах

Код: Выделить всё

~$ cat /tmp/test.sh
#!/bin/sh

printf \\x6e

~$ sh -x /tmp/test.sh
+ printf \x6e
\x6e

Как можно починить?
Спасибо.

В Debian по умолчанию sh - это dash, а не bash. В нём встроенный printf не умеет шестнадцатиричные символы. Можете использовать внешний printf из coreutils через указание полного пути, или же прописать bash в шебанге.
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: [SOLVED] printf \\xNN not work in script

Сообщение IMB »

Да мне это в основном надо в busybox.
Спасибо сказали:
Ответить