简单的tmux bash脚本不工作
问题描述:
我想要tmux打开一个新窗口,然后cd进入一个目录,但它不起作用。它只是在脚本运行的目录中打开tmux(即它不执行cd命令)。简单的tmux bash脚本不工作
有人能告诉我我做错了什么吗? (我正在使用tmux 1.6)
#!/bin/bash
tmux start-server
tmux new-session -d -s my_server -n runstuff
tmux send-keys -t my_server:1 "cd /etc"
tmux select-window -t my_server:1
tmux attach-session -t my_server
答
我终于得到它的工作,使用C-m和编号从0开始的窗口。我添加了第二个命令用于说明目的。
#!/bin/bash
tmux start-server
tmux new-session -d -s my_server -n runstuff
tmux new-window -t my_server:1 -n someotherjunk
tmux send-keys -t my_server:0 "cd /etc" C-m
tmux send-keys -t my_server:1 "./yolo" C-m
tmux select-window -t my_server:runstuff
tmux attach-session -t my_server
答
send-keys
模拟在键盘上打字。因此,您还需要发送输入密钥。
tmux send-keys -t my_server:1 "cd /etc\n"
您可以在这里省略'start-server',它不是必需的;因为您不会从同一'tmux' shell命令创建任何会话,所以它启动的服务器会立即退出。你可以做'开始会话'; new-session ...'在一个shell命令中发出多个* tmux *命令,但是没有必要这样做,因为如果没有一个命令已经运行,'new-session'会启动服务器。另一个自动启动服务器的命令是'attach-session'(只有在你的配置文件中创建会话时才有用)。 – 2013-03-07 08:30:31