更改 tmux .bash_profile 行为

更改 tmux .bash_profile 行为

我的 .bash_profile 中有一个脚本提示 X 会话启动。当我启动 tmux 时,我收到此提示,表明我仅用于 TTY 登录。

如果 .bash_profile 是 tmux 的一部分,我是否可以放入一些可以简单运行 bash 的内容?也就是说,我可以用 bash 检查 .bash_profile 是否在 tmux 中被读取?

答案1

tmux 设置一个名为 的环境变量$TMUX,我相信它保存了它正在使用的套接字的位置。无论哪种方式,你都可以在你的程序中使用它.bash_profile来测试它是否是从 tmux 中调用的。

if [ -z "$TMUX" ]; then
    # not in tmux, do non-tmux things
fi

或者

if [ -n "$TMUX" ]; then
    # called inside tmux session, do tmux things
fi

答案2

我通常用$TERM它来测试。screen并将tmux其默认设置为“屏幕”。

答案3

TMUX您可以export自己代替。如果有多个tmux用户并且您只想source为自己使用,则此功能非常有用。

将以下行添加到~/.tmux.conf.

if-shell shell-command export SOMEONE_USING_TMUX=1

并且,将以下行添加到~/.bash_profile.

if [[ ! -z "$SOMEONE_USING_TMUX" ]]; then
    # source for yourself
fi

相关内容