Als «pipe» getaggte Fragen

Eine Unix-Pipe verbindet Dateideskriptoren zweier Prozesse. Eine Pipe wird mit der in <unistd.h> deklarierten POSIX pipe () -Funktion erstellt. Shells ermöglichen die Erstellung von Rohren zwischen Prozessen mit "|".

2
Was versteht man unter STDOUT und STDIN?
Ich lese ein Buch, es heißt: Jedem Prozess stehen mindestens drei Kommunikationskanäle zur Verfügung: „Standardeingang“ (STDIN), „Standardeingang“ (STDOUT) und „Standardfehler“ (STDERR). Die meisten Befehle akzeptieren ihre Eingabe von STDIN und schreiben ihre Ausgabe in STDOUT. Sie schreiben Fehlermeldungen an STDERR. Mit dieser Konvention können Sie Befehle wie Bausteine ​​aneinanderreihen, um …

2
Wie sende ich alle Ausgaben an "Logger" in der POSIX-Shell?
Ich möchte Standardausgabe und Standardfehler bei der .xprofileVerwendung separat protokollieren logger. In Bash würde das ungefähr so ​​aussehen: exec 1&gt; &gt;(logger --priority user.notice --tag $(basename $0)) \ 2&gt; &gt;(logger --priority user.error --tag $(basename $0)) Wie würde ich das auf POSIX- /bin/sh kompatible Weise tun ?
10 shell  pipe  posix 

2
Bash-Funktion, die Eingaben von Parametern oder Pipe akzeptiert
Ich möchte die folgende Bash-Funktion so schreiben, dass sie ihre Eingabe entweder von einem Argument oder einer Pipe akzeptiert: b64decode() { echo "$1" | base64 --decode; echo } Gewünschte Verwendung: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode &lt; file.txt $ b64decode &lt;&lt;&lt; "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
10 bash  pipe  function  stdin 



3
So ändern Sie die Ausgabe in der Bash-Befehlspipeline
Zum Beispiel habe ich von einem Befehl einige Zeilen bekommen $ some-command John Bob Lucy Jetzt möchte ich einen Verkettungsbefehl hinzufügen, der die Ausgabe ändert. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Wie schreibe ich other-command? (Ich bin ein Anfänger in Bash)
10 bash  pipe 


2
Ist es möglich, einem Befehl zu folgen (wiederholt ausführen)? wie würde man einer datei mit tail -f folgen?
Ich habe ein Skript, das eine Datei 'Detail.out' erzeugt. Ich weiß, dass das Skript immer dann abgeschlossen ist, wenn die Datei eine bestimmte Anzahl von Zeilen enthält (ungefähr 21025). Ich sitze also an der Eingabeaufforderung und führe Folgendes aus: [me@somewhere myDir]$ wc -l */Detail.out 21025 A/Detail.out 21025 B/Detail.out 21025 C/Detail.out …
10 monitoring  pipe  tail 


4
Bash-Exit-Status, der mit PIPE verwendet wird
Ich versuche zu verstehen, wie der Ausgangsstatus kommuniziert wird, wenn eine Pipe verwendet wird. Angenommen, ich verwende which, um ein nicht vorhandenes Programm zu finden: which lss echo $? 1 Da ich whichnicht gefunden habe, habe lssich den Exit-Status 1 erhalten. Das ist in Ordnung. Wenn ich jedoch Folgendes versuche: …
10 bash  shell-script  pipe  exit 

2
Verlangsamt das T-Stück Pipelines?
Ich frage mich, ob Tee die Pipelines verlangsamt. Das Schreiben von Daten auf die Festplatte ist schließlich langsamer als das Weiterleiten. Wartet tee mit dem Senden von Daten an die nächste Pipe, bis sie auf die Festplatte geschrieben wurden? (Wenn nicht, muss tee wohl Daten in die Warteschlange stellen, die …
10 pipe  tee 




4
Wie lese ich Benutzereingaben aus einer Pipe?
Nehmen wir an, ich habe eine Datei confirmation.shmit dem folgenden Inhalt: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac und ich möchte dieses Skript folgendermaßen ausführen: cat confirmation.sh | sh Ich sehe Are you sure [Y/n]?und …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.