使用“echo”命令和使用“vi”编辑 .bashrc 文件时有什么区别?

使用“echo”命令和使用“vi”编辑 .bashrc 文件时有什么区别?

我安装完一个程序后,有些网站告诉我使用 echo 命令将环境变量导出到 .bashrc 文件,而其他网站则告诉我使用 vi .bashrc 直接编辑文件。我想知道这两种方法之间的区别是什么,让我在特定情况下选择使用其中一种而不是另一种?我不确定使用 echo 是否会插入临时变量,而 vi 是否可以将其设为永久变量?

答案1

vi是一个编辑器。它的功能与编辑器通常的功能相同:您可以在任意位置修改文件,只需移动光标即可。

修改文件echo总是会将文本添加到结尾文件的;或完全覆盖。更改与使用 等编辑器一样永久有效vi

echo "foo" >.bashrc

这会将整个文件替换为一行“foo”。您可能不希望这样。

echo "foo" >>.bashrc

这将添加一个新行“foo”到最后.bashrc。虽然这有时可能很有用,但通常您希望更好地控制修改的位置,因此最好使用编辑器。

这是它具有所有神奇的功能:将>命令的输出重定向到文件,并在此过程中覆盖该文件的任何旧内容;>>类似,但它不会覆盖旧内容,只会将新内容添加到末尾。

教程echo通常使用,因为它是一个非常简单的命令,只是 - 你可能已经猜到了 -回声它的参数。但 I/O 重定向与>>>一起工作任何将输出写入标准输出通道的命令(又称标准输入输出)。

答案2

在某些情况下只echo xxx >> file应该用来附加一行,否则可能会导致其他读取器失败(例如当使用时vim)。例如当使用kafka-connect将文件加载到主题中时。

相关内容