Используйте экранирование \U
, за которым может следовать шестнадцатеричное значение от 1 до 8 цифр (хотя Unicode, как определено в настоящее время, будет требовать только 6 цифр, поскольку он допускает кодовые точки до 10FFFF).
% print '\U1f600'
?
Для подсказки вам нужно использовать $'...'
кавычки, чтобы заставить расширение быть расширенным (команда print
делает это сама):
% PS1=$'%m %1~ \U1f600 %# '
myhost ~ ? %
Как и в других контекстах, различные виды цитирования могут быть объединены в одном задании. Например,
PS1='%m %1~ '$'\U1f600'' %# '
эквивалентно приведенному выше.