Change PS1 when running as administrator

Chris J. Breisch chris.ml@breisch.org
Mon Jun 16 19:00:00 GMT 2014


GrahamC wrote:
> On Monday, 16 June 2014, 12:25, Frank Fesevur<ffes@users.sourceforge.net>  wrote:
>
>> Hi,
>>
>> I recently bought a new home computer, so I switched from XP to Win81.
>> With Win81 every now and then I need to start cygwin as administrator
>> (right click shortcut or tile, run as administrator) to do things that
>> I can't do as a normal user.
>>
>> When I run as administrator I change my PS1 from "$" to "#" with these
>> line in ~/.bashrc.
>>
>> if id -Gn | grep -i Administrators>  /dev/null
>> then
>>      PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n# '
>> else
>>      PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
>> fi
>>
>> I don't know if the test can be done a better/easier way, but it works
>> for me on a Dutch Win81. I tested it with both 1.7.30 and a recent
>> AD/SAM snapshot.
>>
>> If more people like this idea, maybe it could included in /etc/bash.bashrc?
>>
>> Regards,
>> Frank
>
> Personally I use a test like:  if [ -w /etc ] for this, which works provided a write ACL has not been added for ordinary users on the directory \cygwin\etc. Administrators have write access to this directory.
>
> Bash supports regular expressions, so if [[ `id` =~ Administrators ]] is a shorter test equivalent to your example.

You might want to look at this thread: 
https://sourceware.org/ml/cygwin/2014-04/msg00256.html

I use the registry test, but the id method would also work.


-- 
Chris J. Breisch

--
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



More information about the Cygwin mailing list