Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

printfで別プロセスで作った特殊記法の16進数文字を出力する

printfで別プロセスで作った特殊記法の16進数文字を出力する方法
……上手い言い方を知らないので周りくどい表現ですが
変数に格納してインライン展開という方法が今の私の精一杯でs(白目

実際のところ

まず、以前の記事で調べたように文字列中に特殊記法なら表示されるので

$ printf "\x41"
A

なら変数に格納して%cなら文字が入るだろうと試したところ……文字列と認識され一個目のバックスラッシュのみが表示されてしまします。

$ a = 1
$  printf "%c" $a
1

$ a = '\x41'
$  printf "%c" $a
\

アプローチを変えてインライン展開

$ printf "$(pwd)"
/home/pi

これなら……最高に格好悪いけど、いけました。

$ a = '\x41'
$ printf "$(echo $a)"
A
$ printf "$(printf $a)"
A

どうもイケてない感がありますが、一応できましたね……。