configuração do tmux condicional ao sistema operacional

32

Existem algumas linhas do meu tmux.conf que eu gostaria de executar apenas se o meu sistema operacional for Mac. No entanto, eu gostaria de usar o meu tmux.conf em vários sistemas operacionais diferentes. Como posso fazer um comando condicional ao SO no qual o tmux está atualmente em execução?

    
por muckabout 21.01.2013 / 21:25

2 respostas

43

Use o comando if-shell :

if-shell "uname | grep -q Darwin" "tmux-cmd1; tmux-cmd2;" "tmux-cmd3; tmux-cmd4"

Você pode colocar comandos específicos do SO em arquivos separados e executá-los por meio do comando "source-file".

if-shell "uname | grep -q Darwin" "source-file .tmux-macosx" "source-file .tmux-linux"
    
por 21.01.2013 / 23:24
11

O link do Jimeh tem a resposta. Também Chris Johnsen merece muito crédito por ajudar pessoas na questão do GitHub aqui: link

Basicamente, você configura um script chamado safe-reattach-to-user-namespace que verifica a existência do comando real recontach ....

#! /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
    
por 29.08.2013 / 16:14

Tags