Я искал способ конвертировать шестнадцатеричные через командную строку и обнаружил, что есть очень простой метод echo $((0x63)).
Это работает отлично, но я немного смущен тем, что здесь происходит.
Я знаю, $(...)что обычно это под-оболочка, где содержимое оценивается перед внешней командой.
Это все еще суб-оболочка в этой ситуации? Я не думаю, что это означало бы, что под-оболочка просто оценивает, (0x63)а не является командой.
Может кто-нибудь сломать команду для меня?
$((...))конфликтует с подстановкой команд, нужно помнить о записиecho "$( (echo x; echo y) | tr xy yx)"вместоecho "$((echo x; echo y) | tr xy yx)"(даже если некоторые оболочки по-прежнему будут принимать последнее, YMMV).