如何在终端中禁用回声

如何在终端中禁用回声

这看起来很简单,但有时我需要终端不回显任何内容,无论是针对特定命令还是所有命令。

在 Windows 中我可以简单地做echo off

我倾向于使用cat命令来制作文件,但它会返回我输入的任何内容,而且我感觉自己像个酒鬼,因为我看到了双重图像。

例子 :

cat | sudo tee -a vocab.txt

I am the first line
I am the first line
I am the second line
I am the second line

答案1

您可以使用以下命令关闭终端回显:

stty -echo

(警告:输入此命令后,您将看不到接下来输入的命令)

并使用以下命令再次打开它:

stty echo

答案2

答案是运行:

set +x

打开回声是

set -x

我刚刚遇到了这个问题,当时一个脚本失败了,终端不断回显我之后输入的所有命令。这是我尝试寻找修复方法时出现的第一个答案。

更多信息:

set -x 启用 shell 的一种模式,其中所有执行的命令都打印到终端。(参见:https://stackoverflow.com/questions/36273665/what-does-set-x-do

答案3

使用 bash 作为 shell 时,关闭终端中命令回显的选项是:

set +v

# - the -->  set -v <-- sets the command echoing back on

答案4

我只知道一行。要做到这一点,请将命令的输出转发到/dev/null

例如:

cat testfile.txt > /dev/null

/dev/null用于在 Unix 和 Linux 系统中丢弃数据。您可以阅读更多关于它的内容这里

相关内容