10

我的 .bashrc 确实

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

其中包括运行我.bash_aliases并给了我大量我定义的别名。

但是,如果我尝试使用 TMUX(使用 调用tmux),我现在拥有的唯一别名是:

$ aliasreturn# 将会呈现....

$ alias rvm-restart='rvm_reload_flag=1 source '\''/home/durrantm/.rvm/scripts/rvm'\'''

我怎样才能使用 tmux 并且仍然可以使用我的所有别名。

我在 Ubuntu 12.04

我的 .bashrc 文件的结尾如下所示:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# Automatic cd'ing
shopt -s autocd

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM

export EDITOR=vim

git config --global --add color.ui true
4

3 回答 3

22

tmux 将您的 shell 作为登录 shell 调用。登录外壳不处理.bashrc,而是使用.bash_profile

您可以简单地.bash_profile阅读您的.bashrc

echo 'source ~/.bashrc' >> ~/.bash_profile
于 2013-04-25T22:40:26.243 回答
1

bash一旦窗格“启动”,最好在 tmux 中运行。顺便说一句,登录和交互式 shell 存在差异是有原因的。我宁愿寻找一种在每个新创建的窗格中运行命令的方法。

于 2018-09-11T08:13:06.367 回答
1

您可以将以下设置添加到~/.tmux.conf(s. answer ):

set-option -g default-command $SHELL
于 2021-04-29T07:31:18.360 回答