( calamari | 2011. 10. 21., p – 01:32 )

Azt nem tudom, hogy mi az oka annak, hogy a 0-ás descriptor a pipe-os változatnál /dev/null az ssh processz esetében,
de emiatt van az, hogy az egyik működik a másik nem.
Szóval a pipe-os verziónál más lesz az stdin ezért nem "eszi meg" az input-ot.
A /proc/PID/fd -t listáztam itt.

pipe -al:
- valamelyik ssh process:
lr-x------ 1 user user 64 2011-10-21 00:58 0 -> /dev/null
lrwx------ 1 user user 64 2011-10-21 00:58 1 -> /dev/pts/0
lrwx------ 1 user user 64 2011-10-21 00:58 2 -> /dev/pts/0
lr-x------ 1 user user 64 2011-10-21 00:58 3 -> socket:[969279]
lrwx------ 1 user user 64 2011-10-21 00:58 5 -> /dev/pts/0
lrwx------ 1 user user 64 2011-10-21 00:58 6 -> /dev/pts/0

- ./test.sh -hoz tartozó bash
lrwx------ 1 user user 64 2011-10-21 00:59 0 -> /dev/pts/0
lrwx------ 1 user user 64 2011-10-21 00:59 1 -> /dev/pts/0
lrwx------ 1 user user 64 2011-10-21 00:58 2 -> /dev/pts/0
lr-x------ 1 user user 64 2011-10-21 00:59 255 -> /home/user/Desktop/test.sh

- cat valami.txt | doit által nyitott shell:
lr-x------ 1 user user 64 2011-10-21 00:59 0 -> pipe:[968361]
lrwx------ 1 user user 64 2011-10-21 00:59 1 -> /dev/pts/0
lrwx------ 1 user user 64 2011-10-21 00:58 2 -> /dev/pts/0

pipe nélkül:
- valamelyik ssh process:
lr-x------ 1 user user 64 2011-10-21 00:39 0 -> /home/user/Desktop/yes.txt
lrwx------ 1 user user 64 2011-10-21 00:39 1 -> /dev/pts/0
l-wx------ 1 user user 64 2011-10-21 00:39 2 -> /dev/pts/0
lr-x------ 1 user user 64 2011-10-21 00:39 3 -> socket:[915716]
lrwx------ 1 user user 64 2011-10-21 00:39 5 -> /dev/pts/0
l-wx------ 1 user user 64 2011-10-21 00:39 6 -> /dev/pts/0

- ./test.sh -hoz tartozó bash
r-x------ 1 user user 64 2011-10-21 00:40 0 -> /home/user/Desktop/yes.txt
lrwx------ 1 user user 64 2011-10-21 00:40 1 -> /dev/pts/0
lrwx------ 1 user user 64 2011-10-21 00:40 10 -> /dev/pts/0
l-wx------ 1 user user 64 2011-10-21 00:39 2 -> /dev/pts/0
lr-x------ 1 user user 64 2011-10-21 00:40 255 -> /home/user/Desktop/test.sh