Am Fri, Dec 03, 2021 at 02:43:54PM +0000 schrieb Peter Humphrey:
> > > > Hello list,
> > > >
> > > > Is there a way to set the colour of a bash prompt according to
> > > > whether the user has SSH'd in?
> > > > […]
> > > When you are connected via SSH, the environment variable
> > > SSH_CONNECTION is set. I store the color in a variable and set it to
> > > yellow if `[[ -n "${SSH_CONNECTION}" ]]`. I can't give you the exact
> > > snippet since I use Zsh, but it should be possible to use a variable
> > > as color in bash's prompt?
> > >
> > > Kind regards, tastytea
> >
> > This link expands upon tastytea's idea:
> >
> > https://unix.stackexchange.com/questions/217270/change-ps1-color-when->
> > connected-to-other-host-via-ssh
>
> Thank you both. Now I just have to shoehorn it into /etc/bash/bashrc on the
> SSH server...
I expanded on that idea somewhat further. When I am in midnight commander
and press Ctrl+O to open a fullscreen shell, I sometimes forget after a
while that it was an mc shell, and so blindly quit it with ctrl+D, which
also kills the mc process. So a long time ago I expanded my PS1 in ~/.bashrc
for those shells to show the number of backgrounded processes and “subshell
type” like so:
__jobsprompt() {
PS1_JOBS_COUNT=`jobs -p | wc -l`
if [ $PS1_JOBS_COUNT -eq 0 ]; then
PS1_JOBS_COUNT=
else
PS1_JOBS_COUNT="$PS1_JOBS_COUNT "
fi
[ "$MC_SID" ] && PS1_JOBS_COUNT="${PS1_JOBS_COUNT}MC "
[ "$RANGER_LEVEL" ] && PS1_JOBS_COUNT="${PS1_JOBS_COUNT}R "
}
if [[ -z "$PROMPT_COMMAND" ]]; then
PROMPT_COMMAND=__jobsprompt
else
PROMPT_COMMAND="$PROMPT_COMMAND ; __jobsprompt"
fi
PS1="$CBPURPLE\u$CDGRAY@$CBGREEN\h$CRESET $CBBLUE\w
$CRED"'$PS1_JOBS_COUNT'$CRESET"
Those $C… strings of course being shell codes for colours (CB…=bold). Note
the single quotes within the string. PS1 shall contain the actual string
'$PS1_JOBS_COUNT', so that the variable is expanded anew in every prompt.
--
Grüße | Greetings | Qapla’
Please do not share anything from, with or about me on any social network.
I just took an IQ test. The results were negative.
signature.asc
Description: PGP signature

