Isso é o que man 1 tmux
diz sobre default-shell
no Linux. Espero que tmux
no macOS se comporte de forma semelhante:
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 executable. When startedtmux
tries to set a default value from the first suitable of theSHELL
environment variable, the shell returned bygetpwuid(3)
, or/bin/sh
. This option should be configured whentmux
is used as a login shell.
Como você pode ver, nenhum desses métodos usa $PATH
. Além disso, em bash
manual :
SHELL
The full pathname to the shell is kept in this environment variable. If it is not set when the shell starts, Bash assigns to it the full pathname of the current user’s login shell.
De qualquer forma, o seu shell de login é o que importa e não é /opt/local/bin/bash
. Você pode considerar a substituição de SHELL
por $BASH
em seu .bashrc
:
SHELL="$BASH"
Nota: Eu não testei isso contra efeitos colaterais. Há uma peculiaridade (pelo menos no meu Kubuntu) com isso. Se tmux
já estiver sendo executado para seu usuário, as alterações em SHELL
não afetarão as chamadas adicionais. Isso ocorre porque uma invocação adicional de tmux
funciona junto com o primeiro tmux
e é o primeiro tmux
que lida com tudo (eu posso ver isso com pstree
); seu ambiente não muda quando você invoca um adicional.
No entanto, essa maneira de chamar tmux
deve honrar seu $PATH
, independentemente de $SHELL
etc .:
tmux new-session bash