próbowałem wszystkiego przez ostatnie 2 godziny, aby to działało, ale moje doświadczenie w powłoce i programowaniu jest ograniczone.Podczas pętli, jak czytać z drugiego wiersza pliku tekstowego
mam pętlę
while IFS="," read var1 var2 var3 var4 var5 ; do
statements here...
done < $file
Teraz operacja wewnątrz oświadczenie jest do odczytu z pliku tekstowego, który ma 5 pól, jak można zobaczyć, a następnie wykorzystać je do tworzenia kont w systemie Linux za pomocą bash
useradd $var1 -p var2 -g var3
i tak dalej
Chcę, aby skrypt zaczął czytać tylko z drugiej linii, nie mogę go uruchomić. coś jak podczas ifs =, odczyt (z drugiej linii) var 1 var 2 var3 itd.
powodem jest to, że plik jest eksportowaną bazą danych z programu Excel do pliku csv, więc pierwszy wiersz zawierałby tytuły takie jak imię uczestniczących etc etc i nie jest konieczna
Twoja pomoc jest mile widziana
Dodatek:
Przed użytkownicy są tworzone, dodałem if i jeśli użytkownicy spełniają warunek następnie zostaną one utworzone.
if [ "$var5" == "fullyenrolled" ]; then
continue with account creation...
echo "$var1 successfuly created"
else
echo "Sorry user $var1 is not fully enrolled"
fi
wyjście echo jest coś takiego jak
Full name is not fully enrolled
user1 successfuly created
user2 successfuly created
nawet jeśli dodam sed 1d | podczas gdy IFS = itd. itd. wydaje się, że wciąż czyta pierwszą linię, dlatego otrzymuję pierwsze wyjście, jak "pełna nazwa nie jest w pełni zarejestrowana"