Change PS1 when run as administrator

Andrew Schulman
Tue Mar 15 16:33:00 GMT 2016

> I just came up with this recipe to change the default PS1 value to use red for the user@host part of the prompt and to change the $ character to a #:
>     if id | grep -qi 'member of administrators group'
>     then
>         export PS1=$(echo "$PS1" | sed -e 's_32_31_' -e 's_\\\$_#_')
>     fi
> IÂ’m not certain the string match on the output of id(1) works everywhere.  Is there a better way to check for admin privileges under Cygwin?  You canÂ’t check for UID or EUID == 0, for example, as youÂ’d do on a true POSIX system.

Ha!  Yes, there is:  see  The magic test is

id -G | grep -qE '\<(544|0)\>'

where 544 is the Administrators group, and 0 is the root group in case the
old root group entry is present in /etc/group.

For example:

id -G | grep -qE '\<(544|0)\>' && echo admin || echo user

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list