■ はじめに
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