Mercurial > hgrepos > hgweb.cgi > s4
view scripts/add-user-csv.sh @ 544:6039630ea2f5
add add-user-csv.sh
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sat, 06 Apr 2019 19:56:15 +0900 |
parents | |
children | 7cd9e895fa09 |
line wrap: on
line source
#!/bin/sh # Usage: ./add-user-csv.sh CSVfile target=$(cd `dirname "$1"`; pwd)/`basename $1` cd `dirname $0`/.. if ! . ./s4-funcs.sh; then echo "Cannot find s4-funcs.sh, which should be located in $mydir/.." exit 1 fi sq $db<<-EOF | .mode csv CREATE TEMPORARY TABLE _newuser(user,email,gecos,inipswd); .import $target _newuser .mode list .sepa , SELECT * FROM _newuser n WHERE NOT EXISTS (SELECT * FROM user WHERE name=n.user); EOF while IFS=, read user email gecos inipswd do encpswd=`echo $inipswd|mypwhash` case "$user" in *\'*) echo "Skipping [$user]" continue ;; *@*) ;; # OK *) echo "Skipping [$user] because of lacking email pattern" >&2 continue ;; esac # echo "$user" "$user" "$inipswd" "$encpswd" query "INSERT INTO user VALUES('$user');" && echo Adding $user dbsetbyid user "$user" email "$email" dbsetbyid user "$user" gecos "$gecos" dbsetbyid user "$user" pswd "$encpswd" done