我想在为我的用户登录shell时执行tmux
。我正在使用fish
,但我认为这个问题与任何shell都有关系。到目前为止,我已按照此问题中的建议完成此操作:https://askubuntu.com/questions/560253/automatically-running-tmux-in-fish,具体而言,将以下行添加到config.fish
:
test $TERM != "screen"; and exec tmux
但是,这个方法有一个主要问题,那就是如果tmux
无法启动,也许如果我在.tmux.conf
文件中引入了语法错误,那么shell进程会立即退出,把我赶出会议。
有没有办法在新的shell执行中自动运行tmux,我可以:
fish
没有tmux
)tmux
,然后再退出fish
答案 0 :(得分:2)
我认为如果出现配置错误,tmux会以非零(即失败)状态退出,因此您可能会放弃执行并手动退出,例如
if test $TERM != "screen"
tmux
and exit
end
但是,请记住,fish 总是来源所有配置文件,因此您需要将其包含在if status --is-login
或类似内容中。
答案 1 :(得分:1)
这对我有用:
data
显然,您可能有也可能没有login.fish文件。我喜欢通过将当前会话可能不需要的代码放在单独的文件中来保持我的config.fish精益,所以我还有一个interactive.fish脚本