답변:
다음 if-shell
명령을 사용하십시오 .
if-shell "uname | grep -q Darwin" "tmux-cmd1; tmux-cmd2;" "tmux-cmd3; tmux-cmd4"
OS 별 명령을 별도의 파일에 넣고 "source-file"명령을 통해 실행할 수 있습니다.
if-shell "uname | grep -q Darwin" "source-file .tmux-macosx" "source-file .tmux-linux"
if-shell
및 run-shell
TMUX 명령은 (현재의 현재 비동기 TMUX 1.7); 이들은 쉘 명령을 백그라운드에서 효과적으로 실행하며, 실행되는 모든 tmux 명령 은 or 명령 자체 뒤에 오는 명령 ( tmux 는 단일 스레드) 후에 만 실행됩니다 . 효과적으로 또는 에서 를 사용하는 경우 초기 세션 ( 및를 통해 명시 적으로 생성 된 모든 세션, 창 또는 창 )에는 tmux 구성 또는 명령이 없습니다. if-shell
run-shell
if-shell
run-shell
~/.tmux.conf
~/tmux.conf
if-shell
run-shell
if-shell
은 tmux 1.8에서 예상대로 작동합니다. SSH에 대해서만 set-titles-string을 설정하는 데 사용하고 있습니다 : github.com/blueyed/dotfiles/commit/…
Jimeh https://github.com/jimeh/dotfiles/commit/3838db8 에 답이 있습니다. 또한 Chris Johnsen은 GitHub 문제를 겪고있는 사람들을 돕기 위해 많은 크레딧을받을 자격이 있습니다 : https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987
기본적으로 safe-reattach-to-user-namespace
실제 reattach ... 명령이 있는지 검사 하는 쉘 스크립트를 설정합니다 .
#! /usr/bin/env bash
# If reattach-to-user-namespace is not available, just run the command.
if [ -n "$(command -v reattach-to-user-namespace)" ]; then
reattach-to-user-namespace $@
else
exec "$@"
fi