Il seguente script processa un file CSV che si suppone abbia le colonne corrispondenti a username e password:
#! /bin/bash
cat $1 | while read ;
do
echo "Processo l'utente $REPLY"
echo $REPLY | awk 'BEGIN {FS=";"}{print "smbpasswd -a -s "$1"\n"$2"\n"$2"\n"}' | /bin/bash
done
L'idea dello script è abbastanza semplice: si legge il file passato come primo argomento, e la relativa linea viene messa automaticamente nella variabile REPLY dal comando read. Successivamente si usa awk per splittare la linea nei campi separati da ; (cambiando il separatore di campo) e infine si passano i valori a smbpasswd facendoli seguire da un'andata a capo che simula la pressione del tasto INVIO da parte dell'utente.
Nessun commento:
Posta un commento