Search code examples
linuxunixcygwin

How to reset a list of PATH variables in Cygwin


$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/PC Connectivity Solution:/cygdrive/c/Program Files (x86)/RSA SecurID Token Common:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/IBM/Client Access/Emulator:/cygdrive/c/Program Files (x86)/IBM/Client Access/Shared:/cygdrive/c/Program Files (x86)/IBM/Client Access:/cygdrive/c/Program Files (x86)/Enterprise Vault/EVClient:/cygdrive/c/Program Files/Java/jdk1.7.0/bin:/cygdrive/c/apache-maven-3.1.1/bin:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/c/apache-tomcat-7.0.52/bin:/usr/bin:%HADOOP_HOME%/bin

Want to remove some uwanted values and the reset the entire above string to following

/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Java/jdk1.7.0/bin:/cygdrive/c/apache-maven-3.1.1/bin:/cygdrive/c/Program Files/TortoiseSVN/bin

How can I do this ? Please guide.


Solution

  • All the cygdrive paths are automatically added from your windows path by cygwin.

    This sed command will append a line to the end of .bashrc to set your PATH:

    sed -i '$a\PATH="/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Java/jdk1.7.0/bin:/cygdrive/c/apache-maven-3.1.1/bin:/cygdrive/c/Program Files/TortoiseSVN/bin"' .bashrc