【Linux】リダイレクト・パイプライン

■ はじめに

https://dk521123.hatenablog.com/entry/2021/09/11/000000
https://dk521123.hatenablog.com/entry/2021/09/12/000000
https://dk521123.hatenablog.com/entry/2021/09/23/223401

で、パイプラインに関して、少し触れたが、
今回は、掘り下げてみた。
ついでに、リダイレクトも扱う。

目次

【1】基礎知識
【2】リダイレクト
 1)上書き保存 ( > )
 2)追記保存 ( >> )
 3)標準入力をリダイレクト ( < )
【3】パイプ / パイプライン
 1)無名パイプ ( | )

【1】基礎知識

 リダイレクト・パイプラインは
「標準入力」「標準出力」「標準エラー出力」を
コントロールするものなので、まずは、ここから説明する。
項目 番号 デフォルト 説明
標準入力 (stdin) 0 キーボード データの入力元
標準出力 (stdout) 1 モニタ画面 データの出力先
標準エラー出力 (stderr) 2 モニタ画面 エラーメッセージの出力先

【2】リダイレクト

* コマンドの入出力をファイル出力に切り替える機能

1)上書き保存 ( > )

echo "Hello World" > hello.txt

2)追記保存 ( >> )

echo "Hello World" >> hello.txt

3)標準入力をリダイレクト ( < )

more < hello.txt

【3】パイプ / パイプライン

* コマンドの出力結果を別コマンドの標準入力に渡す機能

1)無名パイプ ( | )

コマンド1 | コマンド2 | ... 

のように、コマンド1の結果を、コマンド2に渡しっのように
「|」で、バケツリレー的につなげていく感じ。

サンプル

# 「shopt -p」で、シェルオプションを表示
# 「grep lastpipe」で、オプション中の「lastpipe」絞って表示する
$ shopt -p | grep lastpipe

shopt -u lastpipe

参考文献

https://www.infraeye.com/study/linuxz15.html
https://atmarkit.itmedia.co.jp/ait/articles/1603/24/news018_2.html
https://academy.gmocloud.com/know/20210630/12090

関連記事

シェル ~入門編~
https://dk521123.hatenablog.com/entry/2014/10/23/005406
シェル ~ 基本編 / 連想配列 - ディクショナリ ~
https://dk521123.hatenablog.com/entry/2021/09/11/000000
shoptコマンド
https://dk521123.hatenablog.com/entry/2021/09/12/000000
ヒアドキュメント ~ 複数行の テキストをファイル出力する ~
https://dk521123.hatenablog.com/entry/2016/05/13/231535
パイプを使ったループで連想配列に値を設定する
https://dk521123.hatenablog.com/entry/2021/09/23/223401