Linux / シェル / 標準出力・標準入力

Linux / シェル / 標準出力・標準入力

標準出力

コマンドの結果が主に出力される場所(形式)。通常は画面そのものになる。

標準エラー

標準出力のエラー版。プログラムが正常に動作できなかった場合はここに出力される、設計にする。

標準入力

コマンドに渡せるパラメータの入口の一つ。この入口を作っておくと、出力と組み合わせられる。

コマンドにはオプションであったり引数であったり、別のパラメータの入口もある。

ターミナル出力

tty というやつ。

通常は標準出力と標準エラーがミックスされたものになる。

コマンドの中では、こいつに出力されるのか否かを判定するような仕組みがあり、それにより、表示挙動が変わったりする。 OS 自体にもそれを判定する仕組みがある。ls 等のコマンドが手で実行すると、色付きの横並び表示になるのに、標準出力は色もなく単純に立てに並ぶのはこの仕組みの影響である。

unbuffer のようなコマンドを使うと擬似的に画面に出力しているかのように制御してくれて上記の問題が解決できる場合がある。

コマンドによってはオプションにより標準出力と一致させるようなこともできる。

※ isatty とか fstat とかで出力先がどこになっているかを判定できる。

パイプ

前段のコマンドの実行の標準出力結果を後続のコマンドへの標準入力へ文字通りパイプで横流しする。

↓真ん中の | がパイプ

$ hoge | piyo

これにより、複数のコマンドを連結して様々な機能を実現できる

リダイレクト

コマンドの出力先をコントロールすることができるしくみ。

よくあるのは、コマンド結果を画面ではなくファイルに出力するようなやつや、標準エラーを表示させないようにゴミ箱に捨ててしまうというもの。

linux/shell/stdin_stdout_stderr/start.txt · 最終更新: 2021-03-22 12:46 by ore