ho provato tutto per le ultime 2 ore per farlo funzionare, ma la mia esperienza in shell e programmazione è limitata.Durante il ciclo, come leggere dalla seconda riga del file di testo
Ho un ciclo
while IFS="," read var1 var2 var3 var4 var5 ; do
statements here...
done < $file
Ora l'operazione all'interno affermazione è di leggere da un file di testo che dispone di 5 campi, come si può vedere e poi usarli per creare gli account in Linux utilizzando bash
useradd $var1 -p var2 -g var3
e così via
Voglio far sì che lo script inizi a leggere solo dalla seconda riga, non riesco a farlo funzionare. qualcosa come while ifs =, read (dalla seconda riga) var 1 var 2 var3 ecc.
la ragione di ciò è che il file è un database esportato da excel a csv quindi la prima riga conterrà titoli come nome dob arruolati ecc ecc e non è necessario
vostro aiuto è apprezzato
aggiunta:
Prima vengono creati gli utenti, ho aggiunto un'istruzione if e se gli utenti si incontrano una condizione allora saranno creati.
if [ "$var5" == "fullyenrolled" ]; then
continue with account creation...
echo "$var1 successfuly created"
else
echo "Sorry user $var1 is not fully enrolled"
fi
l'uscita dell'eco è qualcosa di simile
Full name is not fully enrolled
user1 successfuly created
user2 successfuly created
anche se aggiungo 1d sed | mentre IFS = ecc. ecc. sembra che stia ancora leggendo la prima riga per questo motivo sto ottenendo il primo output come "nome completo non completamente registrato"