Wenn ich
exec 3>>file # file descriptor 3 now points to file
[ $dryrun ] && exec 3>&1 # or possibly to stdout
echo "running">&3
exec 3>&- # and is now closed
Ich mache mir Sorgen darüber, worauf der Dateideskriptor 3 außerhalb der fraglichen Funktion gezeigt haben könnte. Wie kann ich damit umgehen?
- Gibt es eine eingebaute
next_available_fd
? - Gibt es eine Möglichkeit, fd3 in eine Variable zu duplizieren, dann duplizieren Sie es zurück, sobald die Funktion ausgeführt wird?
- und sollte ich über Threading und gleichzeitige Schreibvorgänge auf fd3 in diesem Fall sorgen?
- Ich bin in sh, aber vielleicht hat bash/ksh/zsh eine Antwort auf dieses Problem?