PHP bin2hex関数と一致するようにBASHバイナリを16進数に変換しますか?

PHP bin2hex関数と一致するようにBASHバイナリを16進数に変換しますか?

Bashでは、PHPを呼び出して次のコマンドを実行できます。

testKey='8798(*&98}9%"^8&]8_98{9798**76876'
testHex=$(php -r "echo bin2hex('$testKey');")
echo $testHex

これにより 38373938282a2639387d3925225e38265d385f39387b393739382a2a3736383736

PHPが利用できないシステムがあります。 bashだけを使って同じ結果を得る方法はありますか?

ありがとう

ベストアンサー1

横になっている場合hexdump

$ printf "%s" "$testKey" | hexdump -ve '/1 "%x"'
38373938282a2639387d3925225e38265d385f39387b393739382a2a3736383736

-ehexdump「二重引用符(」)で囲む必要があるフォーマット文字列を設定します。/1フォーマット文字列は一度に1バイトを使用して%x16進数で印刷されます(そうでないと、バイト順序によって異なる出力が発生する可能性があります)-v。デフォルトは)に置き換えることです*

おすすめ記事