Stavo cercando un modo per convertire esadecimali dalla riga di comando e ho scoperto che esiste un metodo molto semplice echo $((0x63)).
Funziona benissimo ma sono un po 'confuso su ciò che sta accadendo qui.
So che $(...)è normalmente una sotto-shell, in cui i contenuti vengono valutati prima del comando esterno.
È ancora un sotto-guscio in questa situazione? Non sto pensando che significherebbe che la sotto-shell sta solo valutando (0x63)che non è un comando.
Qualcuno può interrompere il comando per me?
$((...))conflitto con la sostituzione dei comandi, è necessario ricordare di scrivereecho "$( (echo x; echo y) | tr xy yx)"invece diecho "$((echo x; echo y) | tr xy yx)"(anche se alcune shell accetteranno comunque quest'ultima, YMMV).