다음은 고유한 Tmux 세션을 시작할 수 있는 TmuxHome.sh 스크립트입니다.
# tmux Start Script Need To Work!!
if which tmux >/dev/null 2>&1; then
#if not inside a tmux session, and if no session is started, start a new session
test -z "$TMUX" && (tmux attach || tmux new-session)
fi
좋아, 이제 기본 .tmux.conf를 사용하는 TmuxHome.sh와 tmux-work.conf를 사용하는 TmuxWork.sh의 예를 제공하고 싶습니다. 둘 다 활성화되어 별도의 세션에서 실행됩니다. 아무 문제 없이 이 작업을 수행하는 방법은 무엇입니까? 어쩌면 다음 TmuxTty.sh 또는 TmuxDev.sh 등...
Arch 위키 사이트는 훌륭합니다: https://wiki.archlinux.org/index.php/Tmux 지금은 예전과 달라요
답변1
tmux
두 호출 모두에 적절한 매개변수를 간단히 전달할 수 있습니다 .
tmux
매개변수를 사용하여 사용자 정의 구성 파일을 자체적-f
으로 전달합니다tmux
.- 의 경우
new-session
매개변수를 사용하여 세션 이름을 전달해야 합니다-s
. - 의 경우 ("t"는 "target"을 나타냄)을 통해 세션 이름을 전달할 수 있습니다
attach
.-t
함께 넣어보세요:
# TmuxWork.sh
if which tmux >/dev/null 2>&1; then
#if not inside a tmux session, and if no session is started, start a new session
test -z "$TMUX" && (
tmux -f ~/.tmux-work.conf attach -t work ||
tmux -f ~/.tmux-work.conf new-session -s work
)
fi
new-session
( 대부분의 경우 attach
세션 내에서 실행되는 것과 같은 다른 명령에는 중요하지 않으므로 구성 파일만 전달하면 됩니다 .)
실제로 이 스크립트를 확장할 수 있습니다.변화"home" 세션이나 다른 세션 내에서 실행하는 경우 switch-client
"work" 세션에 다음 명령을 사용합니다.
if test -n "$TMUX" ; then
tmux switch-client -t work
else
tmux attach -t work ||
tmux -f ~/.tmux-work.conf new-session -s work
fi
일부 스크립팅을 사용하면 세션 이름(이 경우 "작업")과 사용자 정의 프로필 이름을 셸 변수에 저장하고 이 코드 조각을 재사용하여 관리하려는 세션 수만큼 사용자 정의 스크립트를 제공할 수 있습니다. .