J'ai la ligne bash :
expr substr $SUPERBLOCK 64 8
Qui est la ligne de chaîne de retour à moi :
00080000
Je sais qu'il s'agit en fait d'un 0x00080000 en petit-boutiste. Existe-t-il un moyen de créer une variable entière à partir de celle-ci dans bash en big-endian comme 0x80000 ?
Réponse acceptée :
Probablement une meilleure façon de le faire, mais j'ai trouvé cette solution qui convertit le nombre en décimal puis en hexadécimal (et ajoute manuellement le 0x
):
printf '0x%x\n' "$((16#00080000))"
Que vous pourriez écrire comme :
printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"