使用 bash 脚本的 Tmux 发送密钥



这是我的代码:

#!/bin/sh
FILE=$1
while read line; do
 $line
done < myfile.txt

此代码应该从文本文件中逐行读取,然后执行 tmux 发送键行

问题是键发送,但发送到 tmux 的输入之间没有空间。

所以如果我尝试发送

tmux send keys -t MySession 'Foo Bar'

输出在 tmux 会话中显示为 FooBar

您需要

使用 eval 来执行命令,因为在扩展变量时不会处理引号。所以它应该是:

eval "$line"

但是你的整个循环几乎等同于做

/bin/sh < myfile.txt

因为 shell 执行与脚本相同的操作:读取每一行并执行它。

最新更新