Search code examples
unixdirectorycygwin

Why does Cygwin repeat every command I type?


Every time I type a command into cygwin, it repeats it, with a plus sign before it. It's not the biggest deal but it just bothers me.

It looks like this:

Julian@JuliansASUS /cygdrive/c/Users/Julian/dev
$ mkdir play
+ mkdir play

Julian@JuliansASUS /cygdrive/c/Users/Julian/dev
$ ls
+ ls
autoHotKey  gitp1   play   TopCoder.jnlp


Julian@JuliansASUS /cygdrive/c/Users/Julian/dev
$

What's going on? Btdubs this is bash

Thanks!


Solution

  • You have the shell's debugging mode turned on.

    To turn it off from the cmdline: just type set +x.

    If this fixes the problem, but the next time you open a terminal window the problem returns, then search for set -x in your bash_rc files and delete it (or comment it out).

    /etc/profile
    /etc/bash.bashrc
    ~/.bash_profile 
    ~/.bash.login
    ~/.profile
    ~/.login
    ~/bash.bashrc 
    ~/.bashrc
    

    Is a reasonably complete list that would effect just your command line. For ksh and zsh users, substitute bash with ksh or zsh and start looking!

    But any script can contain reference to its own config files OR just contains set =x (and possibly related and set x. So if you only see the duplicate output with a leading + sign when running a script, you'll have to search through the script or any sub-scripts.

    IHTH