[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 peter wrote: > Hi > > Thank you for your help but I am afraid I am being remarkably dense. > What I want to do is check that the user is or is not a member of uucp. > If he is not I need to add him. The following works (except the gpasswd > bit which I will test on another machine! (What faith!!). > > #! /bin/sh > groups > temp > if grep -w 'uucp' temp; then > echo "thats great," ${USER} "is a member of uucp" > else echo "Oh Dear" > # sudo gpasswd -a ${USER} uucp > fi > rm temp > > > However I do not think it is very elegant, and I do not like putting > temp files on other peoples machines. You'd be better off using something like /tmp/$PID as a temp file too. As written your script can do strange things if you have more than one concurrent invocation. The following should work in anything except the strangest of configurations. #!/bin/sh if [ "$1" == "" ]; then echo "usage: $0 group <user>" exit -1 fi if [ "$2" == "" ]; then USERNAME=$USER else USERNAME=$2 fi if [ "`id $USERNAME |awk '{print $3}'|grep \($1\)`" == "" ]; then echo "not found" exit 0 else echo "found" exit 1 fi -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIHG6vsoRLMhsZpFcRAjJjAJ9JAvTDxtwmImRn4AM9ONZ6CJQi8wCeKzQN gqZ0xaOXhYm2SeT9VgCUITw= =Y481 -----END PGP SIGNATURE----- -- The Mailing List for the Devon & Cornwall LUG http://mailman.dclug.org.uk/listinfo/list FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html