GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was macht „exec {fd}/watchdog“ in Bash?

Das ist wörtlich, {fd} ist kein Platzhalter. Ich habe ein Skript, das dies tut und weder Quellen enthält noch irgendwo anders auf {fd} verweist. Ist das gültige Bash?

exec {fd}</dev/watchdog

Akzeptierte Antwort:

Anstatt einen Dateideskriptor auswählen und hoffen zu müssen, dass er verfügbar ist:

exec 4< /dev/watchdog  # Was 4 in use? Who knows?

Diese Notation fordert die Shell auf, einen Dateideskriptor auszuwählen, der derzeit nicht verwendet wird, die Datei zum Lesen dieses Deskriptors zu öffnen und die Nummer der angegebenen Variablen zuzuweisen (fd ).

$ exec {fd}< /dev/watchdog
$ echo $fd
10

Linux
  1. Was bedeutet „–“ (Doppelstrich)?

  2. Was bedeutet Echo $? Tun??

  3. Was macht poll() mit einem Timeout von 0?

  4. Was gibt malloc(0) zurück?

  5. Wofür steht 'cd-'?

Was macht ?

Was bedeutet Exec 3?

Was bedeuten -s und [[]] in einer if-Bedingung in Bash?

Was macht Libgl_always_indirect=1 eigentlich?

Was macht . ~/.bashrc Befehl Tun??

Was bedeutet set -e in einem Bash-Skript?