A biblioteca readline aceita e 1lib/readline/display.c:2432\[ (ASCII SOH e STX ) como delimitadores de texto não imprimíveis. Eles também funcionam em qualquer aplicativo que use readline .
De \] no código-fonte bash :
243 /* Current implementation:
244 243 /* Current implementation:
244 %pre%1 (^A) start non-visible characters
245 %pre%2 (^B) end non-visible characters
246 all characters except %pre%1 and %pre%2 (following a %pre%1) are copied to
247 the returned string; all characters except those between %pre%1 and
248 %pre%2 are assumed to be 'visible'. */
1 (^A) start non-visible characters
245 %pre%2 (^B) end non-visible characters
246 all characters except %pre%1 and %pre%2 (following a %pre%1) are copied to
247 the returned string; all characters except those between %pre%1 and
248 %pre%2 are assumed to be 'visible'. */
As bash -specific e 1y.tab.c:76402printf são de fato traduzidas para echo -e e at 12\x01142\x02 .
Observação: se você usar %code% ou %code% de bash , e se o texto tiver %code% ou %code% imediatamente antes de um número, você atingirá um > bash bug que faz com que ele coma um dígito demais ao processar octal escapes - ou seja, %code% será interpretado como octal 014 (seguido por ASCII "2"), em vez do correto octal 01 (seguido por ASCII "42"). Por esse motivo, use as versões hexadecimais %code% e %code% .