Hay algunas líneas de mi tmux.conf que me gustaría ejecutar solo si mi sistema operativo es Mac. Sin embargo, me gustaría usar mi tmux.conf en múltiples sistemas operativos diferentes. ¿Cómo puedo hacer un comando condicional al sistema operativo en el que tmux se está ejecutando actualmente?
41
Respuestas:
Usa el
if-shell
comando:Es posible que desee colocar comandos específicos del sistema operativo en archivos separados y ejecutarlos mediante el comando "archivo fuente".
fuente
if-shell
yrun-shell
tmux son actualmente asíncronos (a partir de tmux 1.7); efectivamente ejecutan su comando de shell en segundo plano, y cualquier comando tmux que ejecuten solo se ejecutará después de cualquier comando que venga después del comandoif-shell
orrun-shell
( tmux es de subproceso único). Efectivamente, si usaif-shell
orun-shell
en~/.tmux.conf
, la sesión inicial (y las sesiones, ventanas o paneles creados explícitamente creados a través de~/tmux.conf
) carecerá de cualquier configuración tmux organizada a través deif-shell
orun-shell
comandos.if-shell
funciona como se esperaba para mí con tmux 1.8. Lo estoy usando para establecer set- titleJimeh https://github.com/jimeh/dotfiles/commit/3838db8 tiene la respuesta. También Chris Johnsen merece mucho crédito por ayudar a las personas en el tema de GitHub aquí: https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987
Básicamente, configura un script de shell llamado
safe-reattach-to-user-namespace
que verifica la existencia del comando real volver a conectar ...fuente