
の後に( ) が10
続き、さらに が続く文字列を生成しようとしています。NULL
\0
10
しかし、動作しないようです (aの後に が続くecho "10\010"
2 つの文字が生成されると思います。これらの値/文字を分離/エスケープする方法がわかりません。10
\010
私も試してみましたecho "10""/0""10"
が、結果は同じでした。
この出力を名前付きパイプにパイプしています。
答え1
POSIX 準拠のシェルでは以下を使用できます:
echo '10\000010'
8 進エスケープ シーケンスを終了するには、echo
a の後に 3 つの 8 進数が続く必要があることに注意してください。\0
あなたの場合の問題は、非組み込み UNIX バリアントに必要なサポートbash
を実装していないため、POSIX に準拠していないことです。XSI
bash
ただし、部分的にサポートされておりprintf
、次のように使用できます。
printf '10\00010\n'