やりたいこと
1 | my_func () { |
Answer
1 | my_func () { |
[ -p /dev/stdin ]
の中の-p
は対象がパイプファイルであれば真となる。cat
に-
を与えると標準入力から読み込みを行う。cat /dev/stdin
とcat -
は同義。
xargsを使う場合
xargs経由で引数を与えたいケースもあるが、通常はxargsから自作関数は呼べない。
よくある手としてmy_func
関数をエクスポートしておき、bash -c
で実行する。
この場合、my_func
内では引数は$1
として与えられるので注意。
1 | my_func () { |
結果は以下となる。xargs bash -c
経由の場合は*** NOT from pipe ***
のパスを通る。
1 | *** From pipe *** |