$PS1 does not render command-line prompt in color in a FreeBSD VM
Polytropon
freebsd at edvax.de
Wed Oct 12 03:08:23 UTC 2016
On Tue, 11 Oct 2016 21:56:05 -0400, James E Keenan wrote:
> This question concerns display of colors in the command-line prompt on
> two different FreeBSD installations.
>
> For a couple of months I have been using VirtualBox 5.1.2 to run
> FreeBSD-10.3 as a guest on an Ubuntu Linux 16.04 LTS host. When working
> in this VM I have been trying to avoid Linuxisms so as to better learn
> how to work in a BSD environment. One case: I'm using Bourne shell
> rather than Bash as the shell for my own user.
Side note: the Bourne shell (/bin/sh) is FreeBSD's default scripting
shell, but it's a poor dialog shell, that's why this task is usually
reserved for the C shell (a tcsh in fact), which is recommended for
interactive use (and not as bad as people often assume).
> In my .shrc file, I have
> this assignment for the spelling and color of my command-line prompt:
>
> PS1="[^[[31m\W^[[0m] \$ "
>
> ... where in each of two cases the '^[' is the ESCAPE character \033.
> This produces a prompt which I can verbally describe as:
>
> open-bracket in white; basename of pwd in red; close-bracket, space,
> dollar-sign, space in white
>
> ... which in the terminal looks like:
>
> [jkeenan] $
>
> where 'jkeenan' is in red and all the rest is in white. So far so good.
>
> Yesterday I installed FreeBSD-11 as a VM on the same Linux host -- only
> this time I switched to using VMWare to house the VM. I brought over my
> .profile, .shrc, .vimrc, etc., files from the 10.3 VM to this new one.
> I expected them to Just Work. However the terminal inside the VMWare
> console seems to be unable to digest the codes for color in the
> assignment to $PS1. That value for $PS1 is rendering as:
>
> [[31mjkeenan[0m] $
>
> ... all rendered in white; nothing in red. The control sequences to
> change from white to red and back again are simply being literally
> displayed.
>
> I should note that the VMWare console is perfectly capable of rendering
> different colors. Vim gets nice colors in syntax highlighting for both
> sh and perl.
>
> Does anyone have a clue as to why $PS1 DWIMs on FreeBSD-10.3 in
> VirtualBox while FreeBSD-11.0 does not in VMWare?
Has there been a change to the shell, is the configuration file
somehow "damaged", or are you using some nonstandard $TERM setting
(or other setting in a relevant file) in that specific combination?
Hint: It helps to "diff .shrc.works .shrc.doesnot" and look for
the PS1 setting output (which there ideally should be none).
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list