停止 bash 打印已执行的命令

停止 bash 打印已执行的命令

我试图学习 bash 并输入一些命令,现在每次我输入类似 的内容ls,shell 首先打印出来,然后打印出文件列表。如何恢复到之前执行的命令不被回显的状态?

目前的行为

$ ls
ls
sleepy.sh

以前的行为

$ ls
sleepy.sh

答案1

这很可能是由于在 shell 中使用set -v或启用了“详细”模式set -o verbose。如果使用或-v中的选项启动 shell,您也将进入此模式。在这种模式下,shell 在执行每个命令之前都会打印出它。bash -vbash -o verbose

您可以使用set +v或禁用此模式set +o verbose

如果您看到此行为是新的shell,即当您打开一个新终端时,您的或文件中的某处就会有set -v或。删除它并重新开始。set -o verbose~/.bashrc~/.bash_profile


来自评论,很明显,这确实是由于启动 shell 时bash -v相信这会输出bash.

shell的版本bash可以通过或通过在 shell 中bash --version输出 的值来获得。$BASH_VERSION

相关内容