< (附加模式下的输入重定向)仅适用于换行符吗?

< (附加模式下的输入重定向)仅适用于换行符吗?

在阅读有关 Linux 中的文件创建时,我得到:

在终端上创建文件的另一种方法是cat > <filename> << EOF。将创建一个新文件,您可以键入所需的输入。要退出,请在行首输入 EOF。

所以我在 shell 提示符下尝试了这个

$ cat > test1.txt <<ABC
> This is just a test file.
> ABC
$ cat test1.txt
This is just a test file.

在这里当我输入ABC(它可以是任何东西 - 只是为了匹配模式)时。在换行符中它起作用了(就像在ctrl+的情况下一样被接受C),但是当我尝试

$ cat >> test1.txt <<ABC
> just for a trial
> though ABC
> it didnt worked.
> ABC
$ cat test1.txt
This is just a test file.
just for a trial
though ABC
it didnt worked.
$ 

这样做,它只在换行符中起作用。这是否意味着它<<适用于换行符,

里面到底发生什么事了cat> test1.txt <<ABC

答案1

最后的“EOF”(LimitString)在单词前面不应该有任何空格或其他字符,因为这意味着 LimitString(在您的情况下ABC)将无法被识别。1

1改编并修订自https://stackoverflow.com/a/2954835/2907484

相关内容