Hallo,
ich möchte in einem Shell-Script ein array mit der Ausgabe eines Kommandos füllen.
Wie bekomme ich z.B. die Dateinamen "ls" in ein Array oder eine Variable????
Danke.
ottto
ls in array
Was willst du erreichen? Ich frage das, weil es in Shellscripts üblicherweise die komplizierteste Methode ist, erstmal alle Daten in Variablen zu speichern, und dann daraufhin irgendetwas zu tun.
Das hängt damit zusammen, dass man zum Parsen der Ausgabe eines Kommandos üblicherweise eine Pipeline verwenden muss, und damit das zurechtgemachte Ergebnis schlecht wieder zurück in den die Pipeline aufrufenden Shellprozess bekommt.
Deshalb ist es günstiger, die bezweckten Aktionen gleich in der Pipeline zu machen.
Janka
Das hängt damit zusammen, dass man zum Parsen der Ausgabe eines Kommandos üblicherweise eine Pipeline verwenden muss, und damit das zurechtgemachte Ergebnis schlecht wieder zurück in den die Pipeline aufrufenden Shellprozess bekommt.
Deshalb ist es günstiger, die bezweckten Aktionen gleich in der Pipeline zu machen.
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
Hallo Janka,
vielen Dank für die Antwort.
An dem Rechner hängt ein Bandwechsler zur Datensicherung mit spezieller Software.
Ich bekomme mit einem Befehl eine Liste von entsprechenden Bandnamen angezeigt.
Jetzt muss mit jedem Bandnamen der gleiche Befehl abgesetzt werden.
Lösung:
die Ausgabe wird in eine /tmp/Datei geschrieben. Im nächsten Schritt wird dann die Datei zeilenweise in einer for-Schleife gelesen und der Befehl zusammengesetz. Funktioniert.
Schellscriptneuling ottto
vielen Dank für die Antwort.
An dem Rechner hängt ein Bandwechsler zur Datensicherung mit spezieller Software.
Ich bekomme mit einem Befehl eine Liste von entsprechenden Bandnamen angezeigt.
Jetzt muss mit jedem Bandnamen der gleiche Befehl abgesetzt werden.
Lösung:
die Ausgabe wird in eine /tmp/Datei geschrieben. Im nächsten Schritt wird dann die Datei zeilenweise in einer for-Schleife gelesen und der Befehl zusammengesetz. Funktioniert.
Schellscriptneuling ottto
Code: Select all
gibmirdieliste | while read BAND
do
echo "Dies ist der Befehl für Band $BAND"
done
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.