2014-04-19 43 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)。 –

相关问题