我想在其中打开一个带有cmus的新tmux会话和窗口,或者如果alredy正在运行,则附加到它。在Ubuntuusers,我发现这个脚本应该这样做。
1. #!/bin/bash
2. SESSION=main
3. tmux="tmux -2 -f tmux.conf"
4.
5. # if the session is already running, just attach to it.
5. $tmux has-session -t $SESSION
7. if [ $? -eq 0 ]; then
8. echo "Session $SESSION already exists. Attaching."
9. sleep 1
10. $tmux attach -t $SESSION
11. exit 0;
12. fi
我知道我可以用
手动完成tmux new -n music cmus
但是当我在脚本中使用它时,我只收到消息
usage: new-session [-d] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [command]
我也尝试过新会话,但没有变化。我绝对不知道命令或脚本或两者的问题
答案 0 :(得分:4)
我解决这个问题的方法是有一个主tmux会话,像mutt或cmus这样的程序可以启动或连接。例如,对于cmus,我有一个别名:
alias cmus='monkeys -n music cmus'
猴子是以下脚本:
#! /bin/sh
name=monkeys
# make sure tmux server is running:
tmux start-server
# determine if monkeys session is running:
tmux has-session -t ${name}
# no monkeys running, create monkeys,
# if more than one argument, take it as a command to run
# on monkeys, else just attach to monkeys
if [ "$?" != "0" ]; then
tmux new-session -s ${name} $*
elif [ $# -gt 0 ]; then
tmux new-window -t ${name} $*
else
tmux a -t ${name}
fi