我不记得最近在我的文件中明确放置过任何内容.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 "$-"
包含x
则set +x
.此外,您的PS4
似乎未设置或为空。 - 如果
PS1
包含一些奇怪的内容,例如重定向到 stderr 的命令替换,请将其设置为正常的内容。 - 可能是 中的某些内容
~/.inputrc
,或终端设置 (stty
),或行为不当的完成函数。
在以上所有内容中,找出是什么设置了它。~/.bashrc
、或该目录/etc/bashrc
下的某个其他位置/etc
有时由发行版在编译时设置。