In Skripten werden Fehler normalerweise an den Dateideskriptor 2 gesendet &2
, dh:
echo "error" >&2
Manchmal /dev/stderr
wird stattdessen verwendet:
echo "error" > /dev/stderr
Beim Betrachten /dev/stderr
sehe ich, dass es sich nur um einen Symlink zu handelt /proc/self/fd/2
, der wiederum ein Symlink zu /dev/pts/5
(auf meinem aktuellen Terminal) ist.
Scheint etwas zu kompliziert. Gibt es eine Logik dahinter?
Ist die Verwendung /dev/stderr
und &2
gleichwertig?
Ist einer von denen dem anderen vorzuziehen?
>2
, oder >&2
?
echo "error" >2
Erstellt eine Datei mit Name2
und Inhalterror
.