This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Change PS1 when running as administrator
- From: GrahamC <grahamc001uk at yahoo dot co dot uk>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Tue, 17 Jun 2014 09:45:03 +0100
- Subject: Re: Change PS1 when running as administrator
- Authentication-results: sourceware.org; auth=none
- Reply-to: GrahamC <grahamc001uk at yahoo dot co dot uk>
> Frank Fesevur writes:
>> When I run as administrator I change my PS1 from "$" to "#" with these
>> line in ~/.bashrc.
>>
>> if id -Gn | grep -i Administrators > /dev/null
>
> If anything I'd check for membership in group 544. "Administrators"
> surely is one of these strings that gets localized depending on the
> phase of the moon or something. I can't look right now, but I'm pretty
> sure it says "Administratoren" in a german Windows version.
> On all my Dutch Windows all group names are localized apart from
> 544/Administrators.
># id
>uid=1000(Frank) gid=513(Geen)
>groups=513(Geen),0(root),544(Administrators),545(Gebruikers)
>But I agree checking the numeric value is better.
>> If more people like this idea, maybe it could included in /etc/bash.bashrc?
>
> I'll have to think about it, but I lean toward putting it into profile.d
> instead.
>Thanks for considering.
>The other PS1 setting (user@host dir) is also in bash.bashrc. That's
>why I suggested bash.bashrc.
>Regards,
>Frank
If we are looking for other alternatives the GROUPS environment variable can also be used:
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
for G in "${GROUPS[@]}"; do
if [ "$G" = 544 ]; then
PS1='\[\e]0;Administrator \w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n# '
fi
done
Somebody really clever with regular expressions could probably make an equivalent one line test.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple