天天看點

[20180511]tmux與PATH環境變量.txt

[20180511]tmux與PATH環境變量.txt

--//今天使用tmux,無意中發現使用tmux的一個問題.

--//首先定義别名顯示PATH,這樣可以豎着顯示,好看一些:

$ alias path='echo $PATH | tr ":" "\n"'

--//沒有啟動tmux前:

$ path

/u01/app/oracle/product/11.2.0.4/dbhome_1/jdk/bin

/usr/bin

/usr/kerberos/bin

/usr/local/bin

/bin

/usr/NX/bin

/home/oracle/bin

/u01/app/oracle/product/11.2.0.4/dbhome_1/bin

/home/oracle/anysql

$ path | sort|uniq -c

      1 /bin

      1 /home/oracle/anysql

      1 /home/oracle/bin

      1 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin

      1 /u01/app/oracle/product/11.2.0.4/dbhome_1/jdk/bin

      2 /usr/bin

      1 /usr/kerberos/bin

      1 /usr/local/bin

      1 /usr/NX/bin

--//啟動tmux後執行:

      2 /home/oracle/anysql

      2 /home/oracle/bin

      2 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin

      2 /u01/app/oracle/product/11.2.0.4/dbhome_1/jdk/bin

      3 /usr/bin

      2 /usr/NX/bin

--//可以發現一些PATH路徑被設定2次.問題在于tmux登入時重新執行.bash_profile指令.

$ grep -w PATH  .bash_profile

PATH=/usr/bin:$PATH:$HOME/bin

export PATH

export PATH=/u01/app/oracle/product/11.2.0.4/dbhome_1/jdk/bin:${PATH}:$ORACLE_HOME/bin:$HOME/anysql

$ path

/home/oracle/anysql

--//偷懶的解決方法是最後.bash_profile結尾加入如下:

export PATH=/u01/app/oracle/product/11.2.0.4/dbhome_1/jdk/bin:/usr/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/NX/bin:/home/oracle/bin:/u01/app/oracle/produbin:/home/oracle/anysql

--//或者執行如下:

export PATH=$(echo $PATH | tr ":" "\n" | sort| uniq | xargs | tr ' ' ':')

--//當然不理它也沒有問題

--//重新登入tmux,這樣就不會出現2次的情況.

$ path | sort | uniq -c

      1 /u01/app/oracle/produbin