私はバッシュラインを持っています:
expr substr $SUPERBLOCK 64 8
これは私に返される文字列行です:
00080000
これは、実際には、リトルエンディアンで0x00080000であることを私は知っています。 0x80000のようなビッグエンディアンのbashで整数変数を作成する方法はありますか?
承認された回答:
おそらくこれを行うためのより良い方法ですが、数値を10進数に変換してから、16進数に戻す(そして手動で0x
を追加する)このソリューションを考え出しました。 ):
printf '0x%x\n' "$((16#00080000))"
次のように書くことができます:
printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"