Ich suche nur den Unterschied zwischen 2>&- 2>/dev/null |& &>/dev/null >/dev/null 2>&1 und ihre Portabilität mit non-Bourne shellswie tcsh,
Ich suche nur den Unterschied zwischen 2>&- 2>/dev/null |& &>/dev/null >/dev/null 2>&1 und ihre Portabilität mit non-Bourne shellswie tcsh,
Ich weiß, dass Sie einen Dateideskriptor erstellen und die Ausgabe darauf umleiten können. z.B exec 3<> /tmp/foo # open fd 3. echo a >&3 # write to it exec 3>&- # close fd 3. Aber Sie können dasselbe auch ohne den Dateideskriptor tun: FILE=/tmp/foo echo a > "$FILE" Ich suche...
Gestern habe ich diesen SO-Kommentar gelesen , der besagt, dass in der Shell (zumindest bash) >&-"dasselbe Ergebnis hat wie" >/dev/null. Dieser Kommentar bezieht sich tatsächlich auf den ABS-Leitfaden als Informationsquelle. Diese Quelle besagt jedoch, dass die >&-Syntax...
Gelegentlich muss ich einen „Pfad-Äquivalent“ von einem der Standard - IO - Streams , um anzugeben ( stdin, stdout, stderr). Da 99% der Zeit , die ich mit Linux arbeiten, ich voranstellen , nur /dev/zu bekommen /dev/stdin, usw., und diese „ scheint das Richtige zu tun“. Aber zum einen war ich mir...
$ ls -l /dev/stdin /dev/fd/0 lrwx------ 1 tim tim 64 2011-08-07 09:53 /dev/fd/0 -> /dev/pts/2 lrwxrwxrwx 1 root root 15 2011-08-06 08:14 /dev/stdin -> /proc/self/fd/0 $ ls -l /dev/pts/2 /proc/self/fd/0 crw--w---- 1 tim tty 136, 2 2011-08-07 09:54 /dev/pts/2 lrwx------ 1 tim tim 64 2011-08-07...
Ich versuche zu installieren 389-ds, und es gibt mir diese Warnung: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. Ich verstehe Dateideskriptoren, aber ich verstehe keine weichen und harten Grenzen. Wenn ich renne cat...
Es fällt mir sehr schwer zu verstehen, wie man Dateideskriptoren in Shell-Skripten verwendet. Ich kenne die Grundlagen wie exec 5 > /tmp/foo Also wird fd 5 zum Schreiben an foo angehängt. exec 6 < /tmp/bar … zum Lesen. exec 5>&- … Fd schließen. Was macht das jetzt? #!/bin/bash exec 5...
Ich verstehe nicht ganz, wie der Computer diesen Befehl liest. cat file1 file2 1> file.txt 2>&1 Wenn ich das verstehe, 2>&1leiten Sie Standardfehler einfach zur Standardausgabe um. Nach dieser Logik lautet der Befehl für mich wie folgt: Dateien verketten file1und file2. senden...
Angenommen, ich habe Prozess 1 und Prozess 2 . Beide haben einen Dateideskriptor, der der Ganzzahl 4 entspricht. In jedem Prozess verweist der Dateideskriptor 4 jedoch auf eine völlig andere Datei in der Open File Table des Kernels: Wie ist das möglich? Soll ein Dateideskriptor nicht der Index für...
Diese Antwort auf Security StackExchange verwendet eine interessante Bash-Syntax, um eine Datei in-line zu generieren: openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650 Dieses Bit ist besonders interessant: <(openssl ecparam...
Von man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds ist der Dateideskriptor mit der höchsten Nummer in einem der drei Sätze plus 1. Wofür nfdshaben wir, wenn schon readfds, writefdsund exceptfdsworaus können die Dateideskriptoren...
Ich nehme an einer interaktiven Bash-Sitzung teil. Ich habe mit exec einige Dateideskriptoren erstellt und möchte den aktuellen Status meiner Bash-Sitzung auflisten. Gibt es eine Möglichkeit, die aktuell geöffneten Dateideskriptoren
Ich habe mich das immer gefragt, habe mir aber nie die Zeit genommen, es herauszufinden. Deshalb werde ich es jetzt tun - wie portabel ist die hier gezeigte Verwendung von entweder /proc/$$/fd/$Noder /dev/fd/$N? Ich verstehe POSIX-Garantien /dev/null, /dev/tty, and /dev/console (obwohl ich das erst...
$ ls -og /proc/self /proc/self/fd lrwxrwxrwx 1 64 Jun 18 11:12 /proc/self -> 32157 /proc/self/fd: total 0 lrwx------ 1 64 Jun 22 2012 0 -> /dev/tty1 lrwx------ 1 64 Jun 22 2012 1 -> /dev/tty1 lrwx------ 1 64 Jun 22 2012 2 -> /dev/tty1 lr-x------ 1 64 Jun 22 2012 3 -> /proc/32157/fd...
Ich habe verwendet exec 3<>/dev/tcp/192.168.0.101/6435, um eine TCP-Verbindung mit 192.168.0.101:6435 herzustellen. Und ich habe mit dem pipeBefehl ein paar Nachrichten erhalten und auch gesendet . Jetzt möchte ich die TCP-Verbindung beenden. Aber mit ss -anpetkann ich sehen, dass Bash selbst...
Wenn ich das tue (in einer Bourne-ähnlichen Shell): exec 3> file 4>&3 5> file 6>> file Die Dateideskriptoren 3 und 4 haben dup()dieselbe offene Dateibeschreibung (gleiche Eigenschaften, gleicher Versatz in der Datei ...) , da 4 von 3 abgeleitet wurde . Während sich die...
Laut der Bash-Manpage: Der Umleitungsoperator [n]<&digit- Verschiebt den Dateideskriptor digitin den Dateideskriptor noder die Standardeingabe (Dateideskriptor 0), falls nnicht angegeben. digitwird nach dem Duplizieren auf geschlossen n. Was bedeutet es, einen Dateideskriptor in einen...
Ich versuche, das ganze Bild mit Dateideskriptoren zu bekommen. Angenommen, ich habe process1, das anfangs die folgenden Dateideskriptoren hat: _process1_ | | | 0 stdin | | 1 stdout | | 2 stderr | |__________| Dann schließe ich Dateideskriptor 1: close(1); Der Dateideskriptor 1 übersetzt (zeigt) in...
Wenn Sie eine Befehlsliste umleiten, die eine Exec-Umleitung enthält, scheint das exec> / dev / null danach nicht mehr angewendet zu werden, wie zum Beispiel mit: { exec >/dev/null; } >/dev/null; echo "Hi" "Hi" wird gedruckt. Ich hatte den Eindruck, dass die {}Befehlsliste nur dann als...
Dan Bernstein erklärt auf seiner Webseite über den Self-Pipe-Trick einen Race-Condition mit select()und signalisiert, bietet einen Workaround an und schließt daraus Das Richtige wäre natürlich, fork()einen Dateideskriptor zurückzugeben, keine Prozess-ID. Was meint er damit select()? Geht es darum,...