2014-09-10 501 views
-2

我想知道这段代码是什么意思?'echo 0> foo'是什么意思?

echo 0 > foo 

Unix和Bash命令全新。很多东西需要学习,但需要快速回答这个问题。

+1

下面的答案是正确的。以下是有关此主题的其他阅读链接:http://www.tldp.org/LDP/abs/html/io-redirection.html – anishsane 2014-09-10 16:02:31

+1

现在您已接受答案,您的问题将被标记为已解决。您不需要编辑标题。 – 2014-09-10 17:21:11

+1

您可以使用'man echo'或google来查找命令的功能。对于类似'>'的语法,您可以在[shellcheck.net](http://www.shellcheck.net)上搜索'man bash'或使用“名称语法”功能。 – 2014-09-10 17:30:26

回答

2

它将0与一个名为foo的文件相呼应。换句话说,它将输出0重定向到名为“foo”的文件,而不是在屏幕上显示它。

从基本Wikipedia例如在重定向:

command1 > file1

执行命令1,放置在文件1的输出,而不是 在终端,这是 标准通常的目的地显示它输出。

+0

只是为了让一个新的shell脚本更清晰一些:'echo'意思是'print'。 – 2014-09-10 16:03:15

3

命令echo 0 > foo改写任何内容是文件foo中 - 或创建它,如果它不存在 - 与0替换它。

命令echo 0 >> foo会将0添加到文件foo的末尾,或者创建一个包含0的文件(如果它不存在)。