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 |