![tmux 不使用默认 shell](https://linux22.com/image/1529712/tmux%20%E4%B8%8D%E4%BD%BF%E7%94%A8%E9%BB%98%E8%AE%A4%20shell.png)
我的 tmux 开始出现短暂的异常。今天我注意到我的 tmux 会话不是以 bash shell 开始的,而是以 ? 开始(不知道)。我看到的只是一个美元 $。然后,如果我尝试用它调用 bash,bash
它会返回
sessions should be nested with care, unset $TMUX to force.
我想default-shell
在文件中添加一个 for tmux ~/.tmux.conf
,但它不存在,而且如果我创建它,tmux 似乎看不到它。
答案1
tmux 的手册页说明了默认 shell 选项的过程:
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 started tmux tries to set a default value from the first suitable of the SHELL environment variable, the shell returned by getpwuid(3), or /bin/sh This option should be configured when tmux is used as a login shell.
要在 .tmux.conf 文件中将 tmux 的默认 shell 设置为 Bash,您必须将其写成:
set-option -g default-shell "/bin/bash"
如果要将系统默认 shell(不是特定的 bash)设置为default-shell
,则可以set-option -g default-shell $SHELL
在 .tmux.conf 文件中执行此操作。$SHELL
但这要求正确设置变量。请参阅https://superuser.com/a/395161/325399