Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #12300
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: bash prints numeric values of unicode characters instead of their UTF8 representations |
| Date | 2016-02-03 16:13 -0500 |
| Message-ID | <mailman.3527.1454534045.843.bug-bash@gnu.org> (permalink) |
| References | <56AE7F6E.3040406@rawbw.com> <56B2611E.2060802@rawbw.com> |
On 2/3/16 3:20 PM, Yuri wrote: > On 01/31/2016 13:41, Yuri wrote: >> I have this line in ~/.bashrc: >> PS1=$'\\[\e[0;38;5;202m\\]\u2514\u2023\\[\e[0m\\] ' > > This link > http://unix.stackexchange.com/questions/25903/awesome-symbols-and-characters-in-a-bash-prompt > says: "Since bash 4.2, you can use \u followed by 4 hexadecimal digits in a > $'…' string". > My bash-4.3.42 misinterprets \u as the user name instead. > > So what could be wrong? Is \u supposed to be a user name or a unicode > codepoint hexadecimal prefix? Sigh. You are mixing two things that perform backslash-escape character processing. If there is no character corresponding to a particular unicode value in the current character set, the escape sequence is left unchanged. So you get through a round of expansion with the $'...' processing, and the \u2514 is preserved in the result. The PS1 expansion code sees the \u and turns it into the current username. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/
Back to gnu.bash.bug | Previous | Next | Find similar
Re: bash prints numeric values of unicode characters instead of their UTF8 representations Chet Ramey <chet.ramey@case.edu> - 2016-02-03 16:13 -0500
csiph-web