Je cherchais un moyen de convertir hexadécimal via la ligne de commande et j'ai trouvé qu'il y avait une méthode très simple echo $((0x63)).
Cela fonctionne très bien, mais je suis un peu confus quant à ce qui se passe ici.
je sais $(...) c'est normalement un sous-shell, où le contenu est évalué avant la commande externe.
Est-ce toujours un sous-shell dans cette situation? Je ne pense pas que cela signifierait que le sous-shell évalue simplement (0x63)ce qui n'est pas une commande.
Quelqu'un peut-il décomposer la commande pour moi?
$((...))conflits avec la substitution de commandes, il faut se rappeler d'écrire à laecho "$( (echo x; echo y) | tr xy yx)"place deecho "$((echo x; echo y) | tr xy yx)"(même si certains shells accepteront toujours cette dernière, YMMV).