<、<< 和 <<< 在 Linux 中是什么意思?
<、<< 和 <<< 看起来与重定向指示符类似,但它们有不同的用途。了解他们。
它们看起来不像重定向指示符(> 和 >>)吗?
乍一看连我自己都一头雾水!但是 <
、<<
和 <<<
具有完全不同的用例。
因此,在本教程中,我将引导您了解如何使用它们来升级您的终端游戏。
Linux 中 <、<< 和 <<< 的含义
让我们简单介绍一下他们的名字和目的
<
(小于号):称为输入重定向
,用于从文件中获取输入而不是手动输入指令。<<
:称为Here Document
,用于提供多个直接输入命令的行。<<<
:称为此处字符串
,用于为命令提供单行输入。
我知道这听起来非常复杂。但别担心,我将分享一些示例,以便您可以更好地理解每个示例。
1.输入重定向<
假设您创建了一个脚本来获取用户的一些输入,但有时脚本非常庞大,并且您希望自动化该过程。
当然,您可以自定义脚本本身,但是如果您可以创建一个包含脚本所有输入的简单文件,并且整个执行过程可以自动化,该怎么办?
这是使用输入重定向的一种方法!
要使用输入重定向,您必须遵循简单的命令语法:
command < input.txt
现在,让我们看一个简单的例子。
这里,我有一个名为 input.sh
的脚本。
当我执行脚本时,它会询问两个输入之一:是或否:
但是如果你想跳过交互过程怎么办?
您可以使用要提供给脚本的输入创建一个简单的文本文件。
所以我制作了一个名为 input.txt
的简单文本文件,其中写入了 yes
:
当我在带有文本文件的脚本上使用输入重定向时,它给出了以下结果:
./input.sh < input.txt
2. 这里的文档<<
当想要向命令或脚本提供多行输入时,请使用此处文档。
要使用它,您必须遵循简单的语法:
command <<DELIMITER
这里,DELIMITER
使用了两次。
一旦进入您在上面看到的命令。
最后,当您完成添加行并想要保存更改时。 DELIMITER 可以是任何字符串,但我建议使用 END
因为它能更好地表达含义!
现在,让我们看一个简单的例子:
cat > output.txt <<END
在这里,我使用了 cat 命令和 output.txt
文本文件之间的重定向,这意味着 cat 命令的输出将发送到该文件。
然后,我将 <<
与 END
分隔符一起使用,这将允许我编写多行,并且一旦我输入 END,它就会停止命令。
这是一个活生生的例子:
很简单。不是吗?这里的文档还可以用于在 bash 脚本中添加多行注释。
3. 这里的字符串<<<
当想要向脚本或命令输入一行字符串时,使用此处字符串(三个小于号)。
要使用 <<<
,您必须遵循给定的命令语法:
command <<< "string"
让我们看一个简单的例子。
您必须熟悉 wc 命令,它用于计算文件中的单词、字符等。
但是,如果您想计算单行中的字数或字符数怎么办?在这种情况下,您可以使用此处的字符串:
wc -w <<< "Demo text from sagar sharma!"
很简约。不是吗?
了解数据流重定向
输入的重定向可以使用 > 和 >> 来完成,这看起来与我上面解释的很接近。为此,我们制定了详细的指南:
我希望本指南对您有所帮助。