Tmux.conf'umun satırları var, ancak işletim sistemim Mac ise yürütülmesini istiyorum. Ancak, tmux.conf'umu birden fazla işletim sisteminde kullanmak istiyorum. Tmux'un üzerinde çalıştığı işletim sistemine şartlı bir komutu nasıl yapabilirim?
Tmux.conf'umun satırları var, ancak işletim sistemim Mac ise yürütülmesini istiyorum. Ancak, tmux.conf'umu birden fazla işletim sisteminde kullanmak istiyorum. Tmux'un üzerinde çalıştığı işletim sistemine şartlı bir komutu nasıl yapabilirim?
Yanıtlar:
if-shell
Komutu kullanın :
if-shell "uname | grep -q Darwin" "tmux-cmd1; tmux-cmd2;" "tmux-cmd3; tmux-cmd4"
İşletim sistemine özgü komutları ayrı dosyalara koymak ve "kaynak dosya" komutu ile çalıştırmak isteyebilirsiniz.
if-shell "uname | grep -q Darwin" "source-file .tmux-macosx" "source-file .tmux-linux"
if-shell
Ve run-shell
tmux komutları (itibariyle henüz uyumsuz olan tmux 1.7); kabuk komutlarını arka planda etkin bir şekilde çalıştırırlar ve çalıştırdıkları tmux komutları yalnızca veya komutunun kendisinden sonra gelen komutlardan sonra çalıştırılır ( tmux tek dişlidir). Etkili, kullanmak durumunda veya içinde , ilk oturumu (ve herhangi oturumları, pencereler veya bölmeleri açıkça üzerinden oluşturulan oluşturulan ) Herhangi yoksun olacak tmux yapılandırma aracılığıyla düzenlenebilir veya komutlar. if-shell
run-shell
if-shell
run-shell
~/.tmux.conf
~/tmux.conf
if-shell
run-shell
if-shell
tmux 1.8 ile benim için beklendiği gibi çalışıyor. Bunu sadece SSH için set-başlıkları-dizgisini ayarlamak için kullanıyorum: github.com/blueyed/dotfiles/commit/…
Cevap , Jimeh https://github.com/jimeh/dotfiles/commit/3838db8 . Ayrıca Chris Johnsen, burada GitHub konusunda insanlara yardım etmekten büyük bir hak kazanıyor: https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987
Temel olarak, safe-reattach-to-user-namespace
gerçek reattach ... komutunun varlığını kontrol eden bir kabuk betiği kurdunuz .
#! /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