Eu estava procurando uma maneira de converter hexadecimal via linha de comando e descobri que existe um método muito fácil echo $((0x63)).
Está funcionando muito bem, mas estou um pouco confuso sobre o que está acontecendo aqui.
Eu sei que $(...)normalmente é um sub-shell, onde o conteúdo é avaliado antes do comando externo.
Ainda é um sub-shell nessa situação? Estou pensando que não, isso significaria que o sub-shell está apenas avaliando o (0x63)que não é um comando.
Alguém pode quebrar o comando para mim?
$((...))conflitos com a substituição de comandos, é preciso lembrar de escrever emecho "$( (echo x; echo y) | tr xy yx)"vez deecho "$((echo x; echo y) | tr xy yx)"(mesmo que alguns shells ainda aceitem o último, YMMV).