2 votes

Attribuer une ligne de commande au programme

Sur mon Linux, j'ai installé trois versions du même programme.

J'ai donc QWERTY4.0, QWERTY4.1 et QWERTY4.2.

Je les utilise alternativement, mais la commande linux par défaut "qwerty" m'envoie vers la version QWERTY4.0.

Comment puis-je changer vers quelle version cette commande devrait aller ? Et plus généralement, comment peut-on attribuer une commande pour ouvrir un certain programme, si la commande n'existe pas ?

1voto

Teun Vink Points 2295

Vous pouvez démarrer une version spécifique du programme en préfixant le chemin exact vers le binaire, par exemple /chemin/vers/qwerty4.0/qwerty, /chemin/vers/qwerty4.1/qwerty, etc.

Vous pouvez créer un alias et l'ajouter à votre configuration de shell (.bashrc si votre shell est bash):

alias qwerty40=/chemin/vers/qwerty4.0/qwerty
alias qwerty41=/chemin/vers/qwerty4.1/qwerty
alias qwerty41=/chemin/vers/qwerty4.2/qwerty

1voto

bryn Points 111

Quelques astuces rapides :

which qwerty
file $(which qwerty)

which affiche le chemin absolu de l'exécutable/du lien symbolique vers l'exécutable. La deuxième commande récupère simplement la sortie (le chemin) de la commande which afin que je n'aie pas à le taper. Vous pouvez également utiliser la commande type (à la place de which) pour déterminer le chemin absolu. file vous dira s'il s'agit d'un lien symbolique, d'un script ou peut-être même d'un exécutable.

Le fichier peut être un simple lien symbolique pointant vers qwerty4.0. Dans ce cas, il est possible qu'il soit contrôlé par le système alternatives (ou update-alternatives). Vous pouvez le découvrir en regardant la sortie de update-alternatives --get-selections. Si c'est le cas, vous pouvez changer la valeur par défaut avec quelque chose comme update-alternatives --config qwerty. Si ce n'est pas contrôlé par le système alternatives (mais est un lien symbolique), vous pouvez mettre à jour le lien symbolique de cette manière :

ln -s -f /chemin/vers/qwerty4.2/qwerty /usr/local/bin/qwerty

...en supposant que which qwerty ait donné /usr/local/bin/qwerty.

Il pourrait également s'agir d'un lanceur, généralement un script shell/Bash. Dans ce cas, vous pouvez essayer de le modifier pour qu'il lance la bonne version. Vous pouvez également consulter le répertoire d'application correspondant à la recherche d'une version mise à jour de ce lanceur, puis la copier sur place.

S'il s'agit d'un exécutable standard, vous pouvez éventuellement en copier un nouveau, mais dans ce cas, je recommanderais plutôt de le remplacer par un lien symbolique approprié.

Les alias ont déjà été mentionnés. Les alias fonctionnent bien, mais si vous avez besoin d'une solution à l'échelle du système, les liens symboliques sont généralement plus rapides. De plus, en fonction de la configuration des alias shell à l'échelle du système, ils peuvent ne pas fonctionner sur différents shells, etc. Les alias locaux (bash) peuvent être conservés dans .bashrc ou éventuellement dans .bash_aliases. Si vous souhaitez des alias système, /etc/profile.d/ peut être un bon endroit pour les placer (devrait fonctionner pour la plupart/tous les shells).

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