
Я пытаюсь сгенерировать строку, 10
за которой следует NULL
( \0
), а затем 10
.
Однако, echo "10\010"
похоже, это не работает (я предполагаю, что он генерирует два символа - a, 10
за которым следует \010
. Я не уверен, как разделить / экранировать эти значения / символы?
Я тоже попробовал, echo "10""/0""10"
результат тот же.
Я передаю этот вывод в именованный канал.
решение1
В оболочке, совместимой с POSIX, вы можете использовать:
echo '10\000010'
обратите внимание, что для завершения восьмеричной управляющей последовательности echo
требуется три восьмеричных числа после a .\0
Проблема в вашем случае в том, что он bash
не соответствует стандарту POSIX, поскольку не реализует XSI
поддержку, необходимую для невстроенного варианта UNIX.
bash
однако частично поддерживает printf
и поэтому вы можете использовать:
printf '10\00010\n'