[Tcsh] "Readable" Unicode in setenv
Kimmo Suominen
kim at netbsd.org
Fri Dec 10 12:36:16 UTC 2021
On Fri, 10 Dec 2021 at 13:57, H.Merijn Brand <tcsh at tux.freedom.nl> wrote:
> % setenv EURO "\x{20ac}" ; echo $EURO
> ac
>
> If not a bug, could you explain why?
Hmm... interesting. So on a NetBSD host:
equinoxe:~> setenv EURO "\x{20ac}" ; echo $EURO
\x20ac
equinoxe:~> env | grep -i euro
EURO=\x{20ac}
equinoxe:~> echo "\x{20ac}"
\x{20ac}
equinoxe:~> set echo_style=both
equinoxe:~> echo "\x{20ac}"
€
equinoxe:~> echo $EURO
ac
equinoxe:~> echo $EURO:q
€
equinoxe:~> set echo_style=bsd
equinoxe:~> echo $EURO
\x20ac
equinoxe:~> echo $EURO:q
\x{20ac}
equinoxe:~>
So it has something to do with expanding the value. I don't think I
changed anything about that. I don't know why the braces get removed
without the :q modifier.
But instead of storing the escape sequence in the ECHO environment
variable, I would suggest storing the actual character. This way you
can even skip ensuring echo_style is what you need.
equinoxe:~> setenv EURO $'\x{20ac}'
equinoxe:~> echo $EURO
€
equinoxe:~> env | grep -i euro
EURO=€
equinoxe:~>
Kind regards,
+ Kimmo
More information about the Tcsh
mailing list