Il y a quelques lignes de mon tmux.conf
que j'aimerais voir exécuté uniquement si mon système d'exploitation est Mac. Cependant, j'aimerais utiliser mon tmux.conf
sur plusieurs systèmes d'exploitation différents. Comment puis-je rendre une commande conditionnelle au système d'exploitation sur lequel tmux est en cours d'exécution ?
Réponses
Trop de publicités?Utiliser le if-shell
mando:
if-shell "uname | grep -q Darwin" "tmux-cmd1; tmux-cmd2;" "tmux-cmd3; tmux-cmd4"
Vous pouvez placer les commandes spécifiques au système d'exploitation dans des fichiers séparés et les exécuter via la commande "fichier-source".
if-shell "uname | grep -q Darwin" "source-file .tmux-macosx" "source-file .tmux-linux"
Jimeh https://github.com/jimeh/dotfiles/commit/3838db8 a la réponse. Chris Johnsen mérite également d'être félicité pour l'aide qu'il a apportée sur le problème de GitHub : https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987
En fait, vous créez un Shell Shell appelé safe-reattach-to-user-namespace
qui vérifie l'existence de la vraie commande 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