Ich verwende den folgenden Code, um eine Textdatei mit E-Mails zu laden und Benutzer im System mit Benutzerkennwort zu erstellen. die Textdatei E-Mails enthalten wie folgtCode für bedingten Bash-Skript erstellen
[email protected]
[email protected]
[email protected]
Falls der Name mit Großbuchstaben kommen ich es Bekehrtfall zu senken, konnte ich es funktioniert. Jetzt muss ich eine andere Eingabe anstelle von E-Mail z.
P123456
Z877777
aber jetzt nicht, dass ich für diese Art von Eingabe will es Fall
some wie
if(emailpattern)
convert to lower
else
Not
Dies ist der Code zu senken wandeln, das funktioniert, aber ich nicht, damit es funktioniert. ..
for user in $(cat ${users} | awk -F";" '{ print $1 }'); do
user=$(echo ${user} | tr "[:upper:]" "[:lower:]")
log "cf create-user ${user} ${passwd}"
#Here we are creating email user in the sys
cf create-user ${user} ${passwd} 2>&1 |
tee -a ${dir}/${scriptname}.log ||
{ log "ERROR cf create-user ${user} failed" ;
errorcount=$[errorcount + 1]; }
done
Ein paar Dinge nicht klar (für mich) ... Sie haben eine Mischung aus E-Mail-Adressen und Namen (zB 'P123456') in der gleichen Datei? Was ist der Wert von $ {users} 'in Ihrem Beispielcode? Woher kommt '$ {password}'? Was sind die eigentlichen (bash) Befehle, die Sie für die verschiedenen Arten von Eingabedaten generieren möchten? – markp
@markp - Es kann gemischt werden, aber kann nur E-Mail oder einfach nur sein ..., Benutzer ist der Inhalt der Datei, Passwort ist eine Konstante –
@John, beachten Sie bitte, dass '$ {user}' ist sehr verschieden von ' "$ user" '- [Sie möchten die letztere Syntax verwenden] (https://unix.stackexchange.com/questions/171346/security-implications-of-forgetting-to-quote-a-variable-in-bash -posix-shells) –