Exibe o comando que está sendo executado atualmente

3

Não me lembro de ter explicitamente colocado nada em meu arquivo .bashrc recentemente, mas de ontem sou capaz de ver o comando sendo exibido no prompt antes de ser executado. Eu não sei como foi ligado e quando?

Exemplo

$ 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/

Meus detalhes de 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.

É estranho e não parece ser de muita utilidade. Mas eu gostaria de saber como ativar e desativar esse recurso? Que comando / configuração faz isso?

    
por mtk 17.10.2012 / 09:19

1 resposta

3

edit - essencialmente a lista de possibilidades:

  • se trap -p DEBUG não estiver vazio, então trap - DEBUG
  • se typeset -p PROMPT_COMMAND não estiver vazio, então unset -v PROMPT_COMMAND
  • se echo "$-" contiver x , em seguida set +x . Além disso, seu PS4 parece estar desfeito ou vazio.
  • se PS1 contiver algo estranho como uma substituição de comando redirecionada para stderr, configure-a para algo sensato.
  • Possivelmente algo em ~/.inputrc ou uma configuração de terminal ( stty ) ou uma função de conclusão mal-comportada.

Em todos os itens acima, descubra o que o define. Ou ~/.bashrc , /etc/bashrc ou algum outro local em /etc , que às vezes é definido por distros em tempo de compilação.

    
por 17.10.2012 / 09:25