Linux 命令和eof 在一行

Linux command and eof in one line

我想问一下是否可以结合使用 linux 命令和 <

sendmail -S "lalalal" -f "dailaakak" -au "kakakak" <<EOF
>lalal:lalal
>opp:ttt
>ggg:zzz
EOF

我想要这样的东西sendmail -S "lalalal" -f "dailaakak" -au "kakakak" <<EOF; lalal:lalal; opp:ttt; ggg:zzz; EOF

我需要不在 bash 脚本中使用它

如果必须在一行中没有换行符,请使用:

echo -e "lalal:lalal\nopp:ttt\nggg:zzz" | sendmail -S "lalalal" -f "dailaakak" -au "kakakak"

echo -n\n 等转义字符解释为换行符。

如果您询问是否可以在交互式 shell 中使用 << EOF,那么答案是可以。

请注意,此功能在此处称为文档,可以用任何词代替 EOF。例如:

$ cat - << someword
> Here you
> can
> write text with as many
> newlines as you want.
> someword
Here you
can
write text with as many
newlines as you want.

(cat - 打印它在 stdin 上接收到的任何内容)

有关此处文档的更多信息,您可以阅读例如:http://tldp.org/LDP/abs/html/here-docs.html