3

私は最近、bashを使用してパイプにパイプするためにいくつかの数値をバイトとして書き込もうとして時間を費やしました(たとえば0xA、ではなく10として0x310x30)。残念ながら、私はそうすることができず、スクリプトをPythonに書き直さなければなりませんでした。データを文字ではなくbashスクリプトのバイトとして送信する方法はありますか?

4

2 に答える 2

2

chepnerが言ったように、たとえば$'\012'のように任意の値を出力できます。したがって、短いスクリプト:

convert() {
    printf \\$(printf '%03o' $1)
}
convert 122 | od -bc

右の印刷は10進数の引数を8進数に変換し、2番目の印刷は上記のように8進数を印刷します...たとえば、10進数の65はバイト「A」に変換されます。

于 2012-06-20T22:48:48.407 に答える
2

bashusing $'...'syntaxでは任意の文字を指定できます。$'\012' $'\x0a'8 進数と 16 進数でそれぞれ 10 進数値 10 のバイトになります。bashQUOTING の下の man ページを参照してください。

于 2012-06-20T21:15:26.073 に答える