【问题标题】:Using tmux loses all my bash aliases, how can I get them to stay?使用 tmux 会丢失我所有的 bash 别名,我怎样才能让它们留下来?
【发布时间】:2013-04-25 20:03:29
【问题描述】:

我的 .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

【问题讨论】:

    标签: bash rvm alias tmux


    【解决方案1】:

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

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

    echo 'source ~/.bashrc' >> ~/.bash_profile
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 请帮助我理解为什么它更好,以及导致这个建议的两个 shell 的原因是什么。多年来,我一直让 bash 自动启动 tmux,这没有问题或影响登录 shell。我想了解更多细节,谢谢。
      【解决方案3】:

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

      set-option -g default-command $SHELL
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-27
        • 2011-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-14
        • 2012-06-03
        • 1970-01-01
        相关资源
        最近更新 更多