Was macht "exec 5 >> foobar.txt"?

982
user322908

Was bedeutet die Shell-Anweisung?

exec 5>>foobar.txt 

tun? Ich kann es aus offensichtlichen Gründen nicht googeln und weiß nicht, wo ich anfangen soll.

-1

2 Antworten auf die Frage

3
techraf

Der betreffende Befehl leitet die Dateibeschreibung 5in eine Datei um foobar.txt.

"Wo soll ich anfangen?" - diese Antwort ist ein sehr guter Ausgangspunkt.

Genauer gesagt, eine neue Shell wird erstellt, um die aktuelle Shell zu ersetzen, wobei jedoch alle Schreibvorgänge in den Dateideskriptor "5" an eine Datei mit dem Namen "foobar.txt" im aktuellen Verzeichnis angehängt werden. Jedes Programm, das auf den Abschluss der Shell wartet, wartet auf die neue Shell und erhält den eventuellen Beendigungsstatus. AFH vor 8 Jahren 2
0
glenn jackman

Wie andere bereits gesagt haben, wird ein Dateideskriptor geöffnet, der an die genannte Datei angehängt wird.

Sie würden diesen Dateideskriptor folgendermaßen verwenden:

echo "hello world" >&5 date >&5 while read line; do some_transformation; done < input_file >&5