2014-04-19 42 views
1

我發現某些功能和程序在一個系統上可用,而在另一個系統上可用。
我怎樣才能讓我的.bashrc文件處理差異,所以我讓我的.bashrc文件真正便攜?如何創建可在Linux和OSX上運行的.bashrc文件

同樣,我怎樣才能將自定義的.bashrc文件立即放在新機器上,而不必首先滿足其所有的依賴關係?有一個無法運行的.bashrc文件是非常困難的,因爲你甚至不能打開一個終端窗口......(當我編輯我的.bashrc文件時,我總是保持一個打開並測試一個新的終端窗口!如果你以這種方式「卡住」你可以使用純文本編輯器一樣的gedit修改)

+3

恕我直言,這個問題過於寬泛。 – d33tah

+0

不要那樣做。在每個系統上保留一個單獨的'.bashrc'(這可能會「發現」一些常見的部分)。 –

+0

我很想將您的方法列表看作是稍微擴展的博客文章。雖然不是最適合問答的地方。 –

回答

1

這裏有三種方法:

如果命令上ENVIROMENTAL變量取決於諸如版本或程序的諸如bash的變量就像$ TMUX可以在~.bashrc文件中使用這些:

[ "${BASH_VERSINFO[0]}" -ge 4 ] && shopt -s autocd 
[ -z "$TMUX" ] && export TERM=xterm-256color 

如果.bashrc命令取決於FIL e存在,例如,一個~/.git-completion.bash文件:

if [ -f ~/.git-completion.bash ]; then 
    . ~/.git-completion.bash 
fi 

#(or) 
[[ -s ~/.git-completion.bash ]] && source ~/.git-completion 

如果命令取決於程序安裝如TMUX:

if which tmux >/dev/null; then 
    export TERM=xterm-256color 
fi 
+0

所有優秀的方法,儘管沒有特定於Linux和OS X.您錯過了兩種平臺之間的主要區別的方法:[GNU vs BSD coreutils](http://unix.stackexchange.com/q/104098/ 49971)。 –

相關問題