Convertir int en hexadécimal en script shell

Je dois appeler un binary plusieurs fois avec un argument différent dans un script shell. Par exemple, je dois appeler le “set” binary avec les arguments:

set 0x00 set 0x01 set 0x02 … set 0x60

Est-il possible de faire cela avec une boucle dans le script shell?

Utilisez le format %x dans la commande printf pour effectuer la conversion, comme dans printf 0x%x num . Pour transmettre la valeur convertie en argument à une autre commande, utilisez les devis exécutifs $(...) :

 $ i=8 $ while [ $i -lt 16 ]; do > echo $(printf 0x%x $i) > i=$(expr $i + 1) > done 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 

Utilisez printf "0x%X" $decimal dans la boucle dont vous avez besoin.