首页 > 解决方案 > 为什么我的用于创建拆分窗口 tmux 会话的 shell 脚本不起作用

问题描述

我在 macOS 上并使用 zsh。我创建了一个~/bin/已添加到路径中的文件夹。我创建了一个~/bin/testscript包含以下代码的 shell 脚本

#!/bin/sh
tmux new-session -s testsession
tmux split-window -v

并用于chmod -R 700 ~/bin设置权限-rwx------

当通过在 shell 中键入它们连续执行 shell 脚本中的行时,我得到一个带有垂直拆分窗口的新 tmux 会话。这是预期的行为。但是,当我testscript在 shell 中键入时,我只会得到一个新的 tmux 会话,但没有垂直分割的窗口。

我需要做些什么来更改脚本以获得具有拆分窗口的会话?我已经从这个线程复制了上面的代码,但它对我不起作用。

标签: shellzshtmux

解决方案


当您手动运行这些命令时,您将在新会话中运行的 shell 中键入第二行。当您运行脚本时,第二行没有在该会话内执行。尝试:

tmux new-session -s testsession "$SHELL" \; split-window -v

或者

#!/bin/bash

tmux new-session -d -s testsession
tmux split-window -v -t testsession:0.0
tmux attach-session -t testsession

推荐阅读