W moim tmux.conf jest kilka wierszy, które chciałbym wykonać tylko wtedy, gdy mój system operacyjny to Mac. Chciałbym jednak użyć mojego pliku tmux.conf na wielu różnych systemach operacyjnych. Jak mogę uzależnić polecenie od systemu operacyjnego, na którym tmux jest obecnie uruchomiony?
41
Odpowiedzi:
Użyj
if-shell
polecenia:Możesz umieścić polecenia specyficzne dla systemu operacyjnego w osobnych plikach i wykonać je za pomocą polecenia „plik źródłowy”.
źródło
if-shell
irun-shell
tmux polecenia są obecnie asynchronicznym (od tmux 1.7); efektywnie uruchamiają polecenie powłoki w tle, a wszelkie polecenia tmux , które wykonują, będą wykonywane tylko po poleceniach, które następują po samym poleceniuif-shell
lubrun-shell
( tmux jest jednowątkowy). Skutecznie, jeśli używaszif-shell
lubrun-shell
w~/.tmux.conf
początkowa sesji (i sesjach, okna lub szyby stworzone wprost stworzony przez~/tmux.conf
) zabraknie któregokolwiek tmux konfiguracja przeprowadzona przezif-shell
lubrun-shell
polecenia.if-shell
działa zgodnie z oczekiwaniami dla mnie z tmux 1.8. Używam go do ustawiania ciągu set-titles-string tylko dla SSH: github.com/blueyed/dotfiles/commit/…Jimeh https://github.com/jimeh/dotfiles/commit/3838db8 ma odpowiedź. Również Chris Johnsen zasługuje na wiele uznania za pomoc ludziom w kwestii GitHub tutaj: https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987
Zasadniczo skonfigurowałeś skrypt powłoki o nazwie
safe-reattach-to-user-namespace
sprawdzający istnienie polecenia reattach ...źródło