当您在tmux正在运行的会话中启动新会话或在其中创建新窗口时,其默认行为是运行 shell(例如:)bash作为登录 shell。
我知道登录 shell 的目的是在您登录系统时执行您感兴趣的配置和过程的例行程序。但是在大多数情况下(除了可以tmux 用作登录 shell 的情况外),当用户只想打开一个新窗口时,这样做并不是用户的真正意图。
那么将其作为 的默认行为的理由是tmux什么?
文档中关于此事的唯一说明:
Run Code Online (Sandbox Code Playgroud)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.
小智 31
交互式非登录 shell 通常永远不会超过您的顶级登录 shell,因此他们可以期望任何由它启动的功能随时可用,但 tmux 并非如此:
有些人可能认为无论如何都没有必要让 tmux 启动登录 shell,因为在大多数设置中没有注销脚本,而登录脚本只是设置了一些环境变量。
此外,如果您在登录脚本中将字符串附加到环境变量中(例如:PATH=$PATH:/some/other/path)并且它们在同一进程层次结构中运行不止一次,您最终会得到重复,这是最烦人。
但我仍然倾向于认为默认设置是有道理的。
另见:http : //openbsd-archive.7691.n7.nabble.com/tmux-and-login-shells-td170948.html
| 归档时间: |
|
| 查看次数: |
7295 次 |
| 最近记录: |