Ja, ich denke, der Titel ist bis auf die Wortübereinstimmung perfekt. Ja. Standard-E / A ist für Shell-Skripte sehr wichtig, aber ich werde hier nicht auf die Shell-Skript-Notation eingehen (Titelbetrug).
Möglicherweise kennen Sie dieses Wort, Standardeingabe / -ausgabe. Wenn unter Linux ein Befehl ausgeführt wird, werden automatisch drei Kanäle für die Ein- und Ausgabe geöffnet. Das sind die drei unten.
Die Funktion zum Ändern des Standardeingabe- / Ausgabeziels heißt Redirect **. Ich denke, es ist eine gute Idee, das Standardausgabeziel in eine Datei umzuleiten.
Wenn Sie beispielsweise den Befehl cat
ohne Argumente ausführen, wartet die Befehlszeile auf die Eingabe über die Tastatur. Wenn Sie also eine entsprechende Datei ohne Argument in den Befehl cat
eingeben und umleiten, sieht dies wie folgt aus. Das Symbol ** <** wird übrigens für die Umleitung von Eingaben verwendet.
qiita:~/qiita$ vim ore.txt
qiita:~/qiita$ cat < ./ore.txt
Ich bin ein Genie. Niemand hat das gesagt, und die Ergebnisse haben es nicht bewiesen, aber ich weiß. Weil ich ich bin(Unbekannt)
qiita:~/qiita$
Es ist so. Im Fall des Befehls "cat" kann das gleiche Ergebnis erzielt werden, indem eine Datei als Argument angegeben wird.
Auch dieses Mal werde ich ein Beispiel für die Umleitung von Ausgaben mit dem einfachen Befehl "cat" zeigen.
qiita:~/qiita$ cat ./ore.txt > watashi.txt
qiita:~/qiita$ cat ./watashi.txt
Ich bin ein Genie. Niemand hat das gesagt, und die Ergebnisse haben es nicht bewiesen, aber ich weiß. Weil ich ich bin(Unbekannt)
qiita@pumpkin:~/qiita$
Mit ore.txt
als Argument von cat
wird watashi.txt
in der Ausgabeumleitung angegeben. Wenn ich es überprüfe, wird der Inhalt von ore.txt
in watashi.txt
ausgegeben.
Übrigens wird die Zieldatei für die Ausgabeumleitung überschrieben, wenn sie vorhanden ist, und automatisch generiert, auch wenn sie nicht vorhanden ist. Sie können es am Ende in eine zusätzliche Notiz ändern, indem Sie zwei überlappende Umleitungssymbole wie >>
← verwenden.
Ganz am Ende ist die Standardfehlerausgabe ein anderer Kanal als die Standardausgabe. Selbst wenn Sie das Standardausgabeziel in eine Datei ändern, wird die Fehlerausgabe auf dem Display angezeigt.
qiita@pumpkin:~/qiita$ cat < nainai.txt > watashi.txt
bash: nainai.txt:Es gibt keine solche Datei oder kein solches Verzeichnis
qiita@pumpkin:~/qiita$
Verwenden Sie hier das Symbol 2>
für die Standardfehlerausgabe.
qiita@pumpkin:~/qiita$ cat ./nainai.txt 2> error.txt
qiita@pumpkin:~/qiita$ cat ./error.txt
cat: ./nainai.txt:Es gibt keine solche Datei oder kein solches Verzeichnis
qiita@pumpkin:~/qiita$
Es ist so. Sicherlich wird der Fehlerinhalt zu error.txt umgeleitet.
Es gibt noch mehr Inhalte zur Standardeingabe / -ausgabe, aber ich freue mich darauf, diesen Artikel zu aktualisieren. Ich bin sicher, ich werde es tun.
Recommended Posts