Estaba buscando una forma de convertir hexadecimal a través de la línea de comandos y descubrí que hay un método muy fácil echo $((0x63))
.
Funciona muy bien, pero estoy un poco confundido sobre lo que está sucediendo aquí.
Sé $(...)
que normalmente es un sub-shell, donde los contenidos se evalúan antes del comando externo.
¿Sigue siendo un sub-shell en esta situación? No estoy pensando, ya que eso significaría que el subconjunto solo está evaluando (0x63)
cuál no es un comando.
¿Alguien puede romper el comando por mí?
$((...))
conflictos con la sustitución de comandos, uno debe recordar escribir enecho "$( (echo x; echo y) | tr xy yx)"
lugar deecho "$((echo x; echo y) | tr xy yx)"
(a pesar de que algunos shells aún aceptarán el último, YMMV).