Output loopen

Möchte man in einem shell script mit einer Ausgabe irgendwas machen, geht das ganz leicht mittels:

for line in `ls`; do echo "this is line: $line"; done

In diesem Beipsiel wird jede Zeile von "ls" wieder ausgegeben.
Selbiges könnte man zum Beispiel cat mit dem Inhalt einer Datei machen:

for line in `cat datei.txt`; do echo "this is line: $line"; done

Man kann auch ein kommando ausführen und dies erst in eien Variable schreiben.
Das folgende Beispiel findet alle ausführbaren .conf Dateien im Verzeichis /etc/myapp/ und führt diese mit dem entpsrechenden Benutzer der die Datei besitzt aus:

init_files=`find /etc/myapp/<em> -maxdepth 1 -type f -name </em>.conf -perm -u+rx`
for init_files in $init_files
  do
    script_owner=`stat -c '%U' $init_script`
    echo -e "nStarting script for user: $script_owner"
    sudo -u $script_owner -i $init_script $1;
    RETVAL=$(($RETVAL+$?))
  done

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert