我是tmux的新手,在我尝试时发现这种奇怪的行为。
我写了一个非常简单的脚本
tmux new-session -s "test" -d
tmux send-keys -t test hello Enter
tmux attach -t "test"
当我运行它时,shell会显示以下内容
hello
eric:bin$ hello
我只期待"你好"命令在提示符内显示,但是"你好"命令将显示两次:一个在提示符之外,一个在提示符内
有谁知道原因?
答案 0 :(得分:2)
我认为这不是panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();
问题。发生的事情是tmux
在shell完成加载之前将密钥发送到窗口。
您可以通过执行以下操作来查看此现象:
tmux
当$ sleep 3
hello
$ hello
bash: hello: command not found
正在运行时,您可以输入“hello”+ Enter,并且只有当该程序完成运行时,sleep 3
才会解释输入。
您可以通过加快shell加载来解决此问题。