Pagina 1 di 1

Aiuto per uno script

Inviato: gio 28 set 2006, 11:14
da nuovopinguino
Ho creato uno script shell con l'intento di associare ad ogni utente una password generata a random di 8 caratteri e il risultato che voglio ottenere è un output del tipo

Utente1 Password1
Utente2 Password2
Utente3 Password3
Utente4 Password4

però non ci riesco ed ottengo una cosa del tipo:

Utente1 Password1
Utente2 Password1
Utente3 Password1
Utente4 Password1

praticamente la password è uguale per ogni utente! Non capisco dove sbaglio! Qualcuno di voi mi sa aiutare?
Probabilmente l'errore sta nel ciclo for ma non capisco dove... :-(
Grazie mille...

Codice: Seleziona tutto

#!/bin/bash
for utente in Utente1 Utente2 Utente3 Utente4
do
	# Genero una Password per ogni utente
	MATRICE="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
 	LUNGHEZZA="8"
 	while [ "${n:=1}" -le "$LUNGHEZZA" ]
 	do
 		PASS="$PASS${MATRICE:$(($RANDOM%${#MATRICE})):1}"
 		let n+=1
	done
	# Mando a video l'accoppiata NomeUtente Password
	echo "$utente" "$PASS"
done 
exit 0
Grazie molte a chiunque possa aiutarmi

Inviato: gio 28 set 2006, 11:55
da francogdn
Devi azzerare il contatore... se no al secondo giro non entra nella while:

Codice: Seleziona tutto

#!/bin/bash
for utente in Utente1 Utente2 Utente3 Utente4
do
   # Genero una Password per ogni utente
   MATRICE="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
   LUNGHEZZA="8"
   while [ "${n:=1}" -le "$LUNGHEZZA" ]
   do
       PASS="$PASS${MATRICE:$(($RANDOM%${#MATRICE})):1}"
       let n+=1
   done
   n=0
   # Mando a video l'accoppiata NomeUtente Password
   echo "$utente" "$PASS"
   PASS=""
done
exit 0
Ciao.

Inviato: gio 28 set 2006, 12:01
da nuovopinguino
Cavoli è vero!
Grazie di cuore! Mi sono bloccato su sta cosa e non riuscivo a venirne fuori!
Grazie mille per l'aiuto!
Sei un MITO!!!
GRAZIE

PS: Anche la variabile PASS ho visto che deve essere azzerata dopo la visualizzazione del nome utente e password altrimenti concatena le varie password!

Inviato: gio 28 set 2006, 12:02
da francogdn
Prego, figurati :)

Inviato: gio 28 set 2006, 12:05
da dapuzz
Edit: Loool sono arrivato in ritardo :D

Inviato: gio 28 set 2006, 12:08
da francogdn
Esatto, anche la variabile PASS va azzerata.

Ciao.