[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