コマンドラインで一時ファイルを作って渡す
Bash の機能のため、POSIX 汎用ではない。
「一時ファイル」というのには語弊があるが、検索の時にはきっとそうやって探すだろう。
プロセス置換と呼ばれる方法になる。
以下のようにすると、echo の結果を一時的にストリームとして作成して、cat コマンドに引き渡すことになる。(標準入力として渡されたわけではない。)
$ cat <(echo -n "Hello") <(echo ", world!")
code:print_args
i=1
for arg in "$@"
do
printf '%d: "%s"\n' $i "$arg"
i=$((i + 1))
done
code:console
$ ./print_args <(echo -n "Hello") <(echo ", world!")
1: "/dev/fd/63"
2: "/dev/fd/62"