
85807
09.06.2015
Skript um aus Datei auszulesen und in commandos umzulenken und Ausgabe prüfen
Hallo Administratoren,
Ich bin noch ein Neuling im Skripting (bash) und benötige Hilfe.
Ich will aus einer Datei (die ca. 300 Usernamen enthält) Zeile für Zeile einlesen und dann mit einem Commando absetzten.
Nach Absetzten eines commandos können 2 Rückmeldungen erfolgen und sollte diese "negativ" sein, soll das Ausgegeben werden.
Um das ganze anschaulicher zu machen hier ein Beispiel:
Datei:
UsernameABC
UsernameBCA
UsernameCBA
..
Commando-Ausgabe:
Befehl "UsernameABC" Option
Befehl "UsernameBCA" Option
Befehl "UsernameCBA" Option
Ausgabe:
"UsernameBCA" was not successfull
Ich mir ein paar Tutorials angesehen aber ich bin mir nicht sicher wie ich in bash Zeile für Zeile einlese und dann mittels variable absetzen kann.
bg,
Christian
Wie generiere ich das am besten?
Ich bin noch ein Neuling im Skripting (bash) und benötige Hilfe.
Ich will aus einer Datei (die ca. 300 Usernamen enthält) Zeile für Zeile einlesen und dann mit einem Commando absetzten.
Nach Absetzten eines commandos können 2 Rückmeldungen erfolgen und sollte diese "negativ" sein, soll das Ausgegeben werden.
Um das ganze anschaulicher zu machen hier ein Beispiel:
Datei:
UsernameABC
UsernameBCA
UsernameCBA
..
Commando-Ausgabe:
Befehl "UsernameABC" Option
Befehl "UsernameBCA" Option
Befehl "UsernameCBA" Option
Ausgabe:
"UsernameBCA" was not successfull
Ich mir ein paar Tutorials angesehen aber ich bin mir nicht sicher wie ich in bash Zeile für Zeile einlese und dann mittels variable absetzen kann.
bg,
Christian
Wie generiere ich das am besten?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 274114
Url: https://administrator.de/forum/skript-um-aus-datei-auszulesen-und-in-commandos-umzulenken-und-ausgabe-pruefen-274114.html
Ausgedruckt am: 27.04.2025 um 20:04 Uhr
3 Kommentare
Neuester Kommentar

Beispiel
Wenn du etwas genauer wirst mit deiner Schilderung kann man das natürlich noch optimieren, aber anhand deiner Beschreibung ist das etwas schwer zu erraten.
Wenn es nur darum geht Usernamen zu Suchen geht das noch einfacher mit grep.
Gruß jodel32
#!/bin/bash
while read line
do
case $line in
"UsernameABC")
echo "Tu hier was mit ABC"
;;
"UsernameBCA")
echo "Tu hier was mit BCA"
;;
"UsernameCBA")
echo "Tu hier was mit CBA"
;;
esac
done < /var/deinedatei.log
Wenn es nur darum geht Usernamen zu Suchen geht das noch einfacher mit grep.
Gruß jodel32

Wenn dein Befehl als Exit-Code bei Mißerfolg <> 0 und bei Erfolg 0 zurückgibt, kannst du das hier verwenden:
Befehl und Optionen und Pfad der Textdatei natürlich anpassen.
Testen welche Errorcodes dein Befehl zurückliefert kannst du mit einem echo $? anzeigen lassen direkt nachdem du deinen Befehl ausgeführt hast.
Gruß jodel
#!/bin/bash
while read line
do
if [ "$line" != "" ] ;then
Befehl "$line" Option
if [ $? -ne 0 ] ;then
echo "Der User '$line' hat einen Fehler verursacht"
fi
fi
done < /var/users.txt
Testen welche Errorcodes dein Befehl zurückliefert kannst du mit einem echo $? anzeigen lassen direkt nachdem du deinen Befehl ausgeführt hast.
Gruß jodel