Jeg prøver å få bash til å behandle data fra stdin som blir pipet inn, men uten hell. Det jeg mener er at ingen av følgende fungerer:
echo "hello world" | test=($(< /dev/stdin)); echo test=$test
test=
echo "hello world" | read test; echo test=$test
test=
echo "hello world" | test=`cat`; echo test=$test
test=
der jeg vil at utdataene skal være test=hello world
. Jeg' har prøvd å sette "" anførselstegn rundt "$test"
som heller ikke fungerer.
read` vil ikke lese fra en pipe (eller muligens går resultatet tapt fordi pipen oppretter et subshell). Du kan imidlertid bruke en her-streng i Bash:
$ read a b c <<< $(echo 1 2 3)
$ echo $a $b $c
1 2 3
Men se @chepner's svar for informasjon om lastpipe
.