¿Cómo generar un carácter ascii en una cadena con Bash/ZSH correctamente?

¿Cómo generar un carácter ascii en una cadena con Bash/ZSH correctamente?

Estoy intentando generar una cadena 10seguida de NULL( \0) seguida de 10.

Sin embargo, echo "10\010"no parece funcionar (supongo que genera dos caracteres: a 10seguido de \010. No estoy seguro de cómo separar/escapar estos valores/caracteres).

También lo intenté echo "10""/0""10"y tuvo el mismo resultado.

Estoy canalizando esta salida a una canalización con nombre.

Respuesta1

En un shell compatible con POSIX puedes usar:

echo '10\000010'

tenga en cuenta que echose requieren tres números octales después de a \0para terminar una secuencia de escape octal.

El problema en su caso es que bashno es compatible con POSIX, ya que no implementa XSIel soporte necesario para una variante de UNIX no integrada.

bashsin embargo, es parcialmente compatible printfy por eso podrías usar:

printf '10\00010\n'

información relacionada