可以使用多个here-docs在bash中为命令提供输入吗?
$ cat <<<foo <<<bar
bar
$ cat <<EOF1 <<EOF2
> foo
> EOF1
> bar
> EOF2
bar
显然,在两种情况下,第二个here-doc都用作stdin,并替换了第一个引用。是使用echo
s 的解决方案吗?
$ cat <(echo -n foo) <(echo bar)
foobar
另外,由于某种原因,使用组合对我不起作用。为什么会这样呢?
$ cat <<<foo <(echo bar)
bar
$ cat <(echo -n foo) <<<bar
foo
您要使用两个此处文档而不是将其组合成一个事实,这背后没有任何原因吗?
—
2014年
paste
使用虚拟输入进行测试时,我实际上遇到了@beans 。我想我还能想到其他几种情况。例如,如果我有一个脚本,其中包含一些变量的预操作文本,那么我可能想使用仅接收文件的命令对两者进行处理diff
。
另一个用例(我发现这个在这里使用,文档创建一个shell脚本):你要几行变量扩展,然后一些无行:
—
Toby Speight
cat <<EOF1 <<"EOF2"
。