Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #12300

Re: bash prints numeric values of unicode characters instead of their UTF8 representations

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>

Show all headers | View raw


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


Thread

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