这是我的代码:
#!/bin/sh
FILE=$1
while read line; do
$line
done < myfile.txt
此代码应该从文本文件中逐行读取,然后执行tmux send-keys行
问题是密钥发送,但是发送到tmux的输入之间没有空格。
所以,如果我尝试发送
tmux send keys -t MySession 'Foo Bar'
输出在tmux会话中显示为FooBar
答案 0 :(得分:1)
您需要使用eval
来执行命令,因为在扩展变量时不会处理引号。所以它应该是:
eval "$line"
但是你的整个循环几乎等同于做
/bin/sh < myfile.txt
因为shell会执行与脚本相同的操作:读取每一行并执行它。