21 votes

Différence entre `set -g` et `setw -g` et `set` ?

Je lis le manuel de tmux et d'après ce que je peux dire, si set est donné sans drapeau, c'est une "option de session" par défaut, ce qui signifie, je suppose, qu'elle ne s'applique qu'à cette seule session.

Si le -g est fourni, il s'agit d'une option "session globale". Ce qui, je suppose, signifie qu'elle s'applique à toutes les sessions.

Maintenant, si je fais setw -g il s'agit d'une option de fenêtre globale, ce qui signifie, je suppose, qu'elle s'applique à toutes les fenêtres d'une session, ce qui est identique à l'option set sans drapeau.

Ensuite, il y a le -s ce qui signifie qu'il s'applique à l'ensemble du serveur. On dirait qu'il s'applique à toutes les sessions, ce qui correspond à la même chose que l'option set -g drapeau. Mais je ne pense pas que ça puisse être juste. Mais cela ne semble pas correct, car alors pourquoi avoir deux drapeaux qui font la même chose ?

4 votes

7voto

Le lien fourni par StevieD "Possible duplicate of Différence entre les options globales, serveur, session et fenêtre "est un excellent aperçu.

En gros, c'est compliqué. "set" peut définir des options de serveur, de fenêtre et de session, et fonctionnera de la même manière pour définir une option de serveur avec "set -s" ou "set". Cependant, il est recommandé d'inclure le "-s" lors de la définition d'une option de serveur, car cela empêche de définir l'option si elle n'est pas réellement une option de serveur. Les exemples d'options de serveur incluent buffer-limit et exit-unattached. Si vous utilisez set -s pour modifier une option, puis ouvrez un nouveau terminal, ce dernier reflétera l'option modifiée.

La commande "setw" a moins de drapeaux qui peuvent être utilisés avec elle. "setw -s" n'a aucun sens car setw est spécifique à la fenêtre. (Au fait, "set -w" est exactement la même chose que "setw".) Comme pour la commande "set", -a ajoute la valeur au paramètre existant, -F développe les formats dans la valeur de l'option, -g active/désactive une option globale, -o empêche de définir une option qui est déjà définie, -q supprime les erreurs concernant les options inconnues ou ambiguës, et -u désactive une option de sorte qu'une session hérite des options globales ou si -g est également utilisé, il modifie l'option globale par défaut.

Donc si je veux juste changer le Shell par défaut de MA FENÊTRE en /bin/bzexe, je peux lancer tmux setw default-Shell /bin/bzexe

"set" définit une option qui restera inchangée lorsque "set -g" sera exécuté. "setw" a des options différentes de "set" et "setw -g" agit de la même manière que "set -g" en ce sens que la définition de cette option globale ne changera pas la valeur lorsqu'elle sera vérifiée avec "show-window-option".

Les options "set" peuvent être affichées avec "show-options". Les options "setw" peuvent être affichées avec "show-window-option". Toutes les commandes ci-dessus peuvent être modifiées pour regarder les globales en ajoutant un -g.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X