こんにちは、hachi8833です。 bashのサブシェルで標準入力を受け取った場合の扱いについて社内で行われたやりとりをメモします。 検証にはDocker上で動くUbuntu Linux(4.4.0-47-generic)を使いました。 質問 bashのサブシェルについての疑問です。以下のコマンドがあるとします。 $ echo "aiueo" | (cd /home/hoge && cat - ) サブシェル(上の(と)で囲まれた部分)はパイプで受け取った標準入力をどう扱うか cdは標準入力をどう扱うか 実行してみると以下のようにcatまで標準入力が届いているように見えるが、cdは何が行われていたのか 回答 1. サブシェルはパイプで受け取った標準入力をどう扱うか 標準入力の扱いについては、サブシェルであってもなくても同じです。以下のように、パイプのつなぎ先がサブシェルであってもなくても
![[bash]サブシェルがパイプで受け取った標準入力の扱いとcdコマンドの動作|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/8ed6a84946710d3776c4b30b29a96686d191a588/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2016%2F12%2F161219_1818_jeqsoh.png)