7 if [ -z "$1" -o -z "$2" -o -z "$3" ]; then
8 echo "Syntax: ./edit-user-email.sh <username> <old e-mail> <new e-mail>"
12 COUNT
=`grep -E -c "^$1:" "$ETC/passwd"`
13 if [ "$COUNT" -ne "1" ]; then
14 echo "fatal: user '$1' doesn't appear to exist (or exists multiple times, or contains regexpy characters)."
17 if echo "$2" |
grep -q '[,:]'; then
18 echo "fatal: e-mail '$2' has illegal characters ([,:])."
21 if ! echo "$3" |
grep -E -q '^[a-zA-Z0-9+._-]+@[a-zA-Z0-9.-]+$'; then
22 echo "fatal: e-mail '$3' is not valid (^[a-zA-Z0-9+._-]+@[a-zA-Z0-9.-]+$)."
26 -e "s/^$1\(:[^:]*:[^:]*:[^:]*:\)$2\([,:]\)/$1\\1$3\\2/" \
32 rm -f "$ETC/passwd.$$"
33 if [ -n "$cfg_update_pwd_db" -a "$cfg_update_pwd_db" != "0" ]; then
34 "$cfg_basedir/bin/update-pwd-db" "$ETC/passwd" "$1"
36 echo "All changed lines listed above."