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