从bash启动时在tmux中绑定源文件

时间:2018-07-14 12:57:08

标签: bash tmux

我有一个.tmux.conf文件,当我按正确的键(在这种情况下,Ctrl + b后跟'k')时,它将绑定一组其他的tmux指令:

bind k source-file ~/.tmux/myfile

当我进入tmux终端并按Ctrl + b后再按k时,它可以正常工作,并且myfile中的脚本按预期运行。我现在正尝试使用.bashrc文件中的命令通过将密钥发送到tmux会话后将其发送到启动所有这些操作:

launch_things() {
    tmux new-session -d -s mysession
    tmux send-keys -t mysession C-b k
    tmux a -t mysession
}

但是,这不起作用。它开始了tmux会话,显然是弯曲了它的键,然后将其附加到该会话。我不确定这是因为我在发送键时做错了什么,还是无法发送像这样的键组合。请注意,我在附着时可以 在屏幕上看到字母k,因此send-keys功能正在完成某事

有人可以告诉我我做错了什么,还是建议另一种方法从我的bash脚本启动绑定的源文件(~/.tmux/myfile)?

P.S。如果可以,那么我正在运行Ubuntu 16.04。

1 个答案:

答案 0 :(得分:1)

似乎send-keys在发送字符串时不会尝试将其解释为前缀字符。有命令send-prefix,但其行为方式相同。

所以简单的答案是做tmux source-file ~/.tmux/myfile或更长的时间

tmux attach-session -t mysession\; source-file ~/.tmux/myfile\; detach-client