rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

プロセス置換とコマンド置換 bashシェル

2021 Mar. 15.
2021 Mar. 06.

参考ページ
bashのプロセス置換で遊んでみよう! | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
Linuxでのプロセス置換 - Qiita

プロセス置換

COMMAND1 <(COMMAND2)
COMMAND2の結果が納まったファイルパス(ファイルディスクリプタ)がCOMMAND1に渡される。

COMMAND1 >(COMMAND2)
COMMAND1の結果が納まったファイルパス(ファイルディスクリプタ)がCOMMAND2に渡される。

## seqコマンドの出力がプロセス置換によってファイルディスクリプタに納められ、
## catの標準入力に流し込まれる
cat <(seq 10)

## echoコマンドの出力がファイルディスクリプタにリダイレクトされ、
## そのファイルディスクリプタはプロセス置換によってcatの標準入力に流し込まれる
echo $(seq 10) > >(cat) 

## COMMAND1が書き込み先ファイルパスを引数にとるなら、
## 書き込みプロセス置換を引数とすることで、
## COMMAND1の出力を内容とするファイルディスクリプタがCOMMAND2に渡される
COMMAND1 >(COMMAND2)


コマンド置換

Result=$(COMMAND1)
COMMAND1の結果そのものが変数Resultに渡される。

echo $(seq 10)