现在,当我登录到Tmux时,仅加载~/.bash_profile
。
我希望调用~/.bashrc
。
这可行吗?
tmux
级别显式设置默认 shell 命令来解决这个问题:tmux set-option default-command "/bin/bash"
来自tmux
手册(重点是我的):
如Chepner在下面的评论中所解释的那样:default-command shell-command Set the command used for new windows (if not specified when the window is created) to shell-command, which may be any sh(1) command. The default is an empty string, which instructs tmux to create a **login shell** using the value of the default-shell option. default-shell path Specify the default shell. This is used as the login shell for new windows when the default-command option is set to empty, and must be the full path of the exe‐ cutable. When started tmux tries to set a default value from the first suitable of the SHELL environment vari‐ able, the shell returned by getpwuid(3), or /bin/sh. This option should be configured when tmux is used as a login shell.
passwd
条目都设置为/bin/bash
。根据我答案中引用的相关部分的man,它不应该有任何区别。或者我错过了什么? - Sylvain Lerouxdefault-shell
默认使用您首选的登录 shell;default-command
默认启动一个登录实例,实际上是 $SHELL -l
。 - chepnertmux
无关。要解决该问题,确保在.bash_profile
中添加source ~/.bashrc
即可。bash
初始化及其加载文件的更多信息,以及加载顺序:https://github.com/sstephenson/rbenv/wiki/Unix-shell-initialization#bash
从列表中可以看出,在登录模式下启动bash时,.bashrc
甚至不列在列表中,这就是为什么我们从列表中的文件(.bash_profile
)源代码。.bash_profile
中引用了我的.bashrc
,但tmux没有读取它。 - asa