The problem was probably that the ‘E’ in ‘Example’ is a valid hex digit. Whereas the ‘M’ in ‘Matthew-MDMA’ is not.
So, \x7Example
was getting interpreted as \x7E
+ xample
, but since ‘M’ isn’t a hex digit (and likewise for ‘R’ in the ‘Rad’ example), the shell was stopping with the last valid hex character, to give \xb
+ Matthew-MMDA
.
This only seems to interpolate the first 1 or 2 hex digits, so \xdeadbeef
results in \xde
+ adbeef
, and not the 32 bit value of 3,735,928,559.