Send string to stdin

All Workers Are Essential picture All Workers Are Essential · Jun 30, 2011 · Viewed 169.5k times · Source

Is there a way to effectively do this in bash:

/my/bash/script < echo 'This string will be sent to stdin.'

I'm aware that I could pipe the output from the echo such as this:

echo 'This string will be piped to stdin.' | /my/bash/script

Answer

jm666 picture jm666 · Jun 30, 2011

You can use one-line heredoc

cat <<< "This is coming from the stdin"

the above is the same as

cat <<EOF
This is coming from the stdin
EOF

or you can redirect output from a command, like

diff <(ls /bin) <(ls /usr/bin)

or you can read as

while read line
do
   echo =$line=
done < some_file

or simply

echo something | read param