Linux EOF 解释
EOF(文件结束)条件用于指示文件或数据流的结束。它是一个标记,告诉操作系统它已到达正在读取的数据的末尾。 Linux系统在读取数据时都会使用EOF标记,用户也可以使用cat
等各种Linux命令手动指定EOF。在本教程中,我们将解释 Linux 中的 EOF 并查看如何通过 Bash 中的 Heredoc 函数自行使用它的示例。
在本教程中您将学习:
Linux 中 EOF 的用途是什么?
使用
Ctrl + D
按键的 EOF 示例Bash 中带有 Heredoc 函数的 EOF 示例
Linux 中 EOF 的用途是什么?
EOF 标记是文件或数据流后面的字符。该字符通常在系统终端中不可见,因此您可能多次遇到 EOF 标记,但没有意识到有一个字符告诉程序已到达数据末尾。
EOF 标记并不是仅在 Linux 中存在的概念,而是在其他操作系统以及用许多不同语言编写的程序或脚本中普遍使用。如果脚本提示用户输入,它通常会侦听 EOF 标记,以便知道何时停止等待更多输入。
Linux 中的 EOF 示例
如果 EOF 标记的概念仍然难以掌握,我们可以利用几个流行的 Bash 命令中的 EOF 指示符。让我们看一些例子。
EOF 字符可以使用
Ctrl + D
组合键输入。让我们看一下将其与 cat 命令一起使用的示例。当cat
命令不包含任何参数时,它会等待键盘的输入。如果您尝试运行缺少任何参数的cat
命令,cat
将等待您从键盘输入的内容,直到收到由CTRL+D
组合键。当从键盘输入某些输入时,cat
命令将简单地重复任何输入并将其显示在屏幕上。$ cat Some example test [Here we press the Ctrl + D combo] Some example text
可以使用
>
运算符将此键盘输入直接重定向到文件中。下面的例子说明了这个想法:$ cat > file Some example text [Ctrl + D] $ cat file Some example text
输入“Some example text”行后,按
ENTER
键产生新行字符,然后按CTRL+D
,产生文件结束信号。使用cat
命令读取文件内容可以确认键盘输入无疑已重定向到文件中。我们使用 EOF 的另一种方法是使用 Bash 的 Heredoc 功能。这允许您将多行传递到一个文件中。您需要在命令的开头指定一个“分隔符”,通常只是 EOF(文件结尾),但技术上可以是任何字符。如果我们将三行附加到一个文件中,它会是这样的。
cat << EOF >> file.txt My user account is: $(whoami) My home directory is: $HOME Pretty cool, huh? EOF
正如您所看到的,我们手动输入“EOF”以向 Heredoc 表明我们已到达数据流的末尾。结果……
$ cat file.txt My user account is: linuxconfig My home directory is: /home/linuxconfig Pretty cool, huh?
结束语
在本教程中,我们解释了如何在 Linux 系统上使用 EOF(文件结束符)。 EOF 是许多操作系统和程序使用的基本概念,用于了解文件何时结束或何时不需要更多输入。作为 Linux 用户,我们可以使用 Ctrl + D 函数自己指定 EOF 或使用其他表示形式将 EOf 传递给程序。