问题
On my Acer 725 with Lubuntu 13.04 this little script:
#!/bin/bash
echo "======"
echo <<xxxxx
aaaaaaaaaqqqqqqqqq
xxxxx
echo "======"
produces this output:
======
======
It should produce this:
======
aaaaaaaaaqqqqqqqqq
======
I've searched all over for a reason but I can't find anything. I have a horrible feeling that I am missing something embarrassingly obvious.
Any ideas?
回答1:
I have a horrible feeling that I am missing something embarrassingly obvious.
Use cat
instead of echo
:
cat <<xxxxx
aaaaaaaaaqqqqqqqqq
xxxxx
回答2:
Heredocs send the content to stdin. echo
doesn't read from stdin.
来源:https://stackoverflow.com/questions/21091826/bash-here-document-produces-no-output-any-idea-why