Bash的这个文档没有输出,有什么想法吗?

5
在我的Acer 725上使用Lubuntu 13.04,这个小脚本是这样的:
#!/bin/bash

echo "======"
echo <<xxxxx
aaaaaaaaaqqqqqqqqq
xxxxx
echo "======"

产生以下输出结果:

======

======

它应该生成这个:
======
aaaaaaaaaqqqqqqqqq
======

我已经搜索了很久,但找不到原因。我有一种可怕的感觉,似乎错过了一些非常明显的东西。

你有什么想法吗?


1
好吧,至少我对某件事情是正确的;这显然是令人尴尬的。谢谢大家。 - Kevin Whitefoot
2个回答

10

Heredocs将内容发送到标准输入(stdin)。而echo不会从标准输入中读取内容。


8

我有一种可怕的感觉,似乎错过了令人尴尬的显而易见的事情。

使用cat而不是echo

cat <<xxxxx
aaaaaaaaaqqqqqqqqq
xxxxx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接