显示当前正在执行的命令

显示当前正在执行的命令

我不记得最近在我的文件中明确放置过任何内容.bashrc,但从昨天开始,我可以看到命令在执行之前显示在提示符处。我不知道它是如何、何时开启的?

例子

$ ls *abc*
ls *abc*  # ---> This line is getting displayed for every command, same command as it is
abc.txt temp_abc.c
$ pwd
pwd       # ---> This line is getting displayed for every command, same command as it is
/home/mtk/temp/

我的 bash 详细信息

$ bash --version
bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

这很奇怪,而且似乎没有多大用处。但我想知道如何打开和关闭此功能?这是什么命令/设置?

答案1

编辑- 本质上是可能性的列表:

  • 如果trap -p DEBUG非空则trap - DEBUG
  • 如果typeset -p PROMPT_COMMAND非空则unset -v PROMPT_COMMAND
  • 如果echo "$-"包含xset +x.此外,您的PS4似乎未设置或为空。
  • 如果PS1包含一些奇怪的内容,例如重定向到 stderr 的命令替换,请将其设置为正常的内容。
  • 可能是 中的某些内容~/.inputrc,或终端设置 ( stty),或行为不当的完成函数。

在以上所有内容中,找出是什么设置了它。~/.bashrc、或该目录/etc/bashrc下的某个其他位置/etc有时由发行版在编译时设置。

相关内容