jeudi 18 mai 2017

Lanceur pour 2 voire plusieurs applications en même temps

Lanceur à commande multiple


À quoi ça peut donc bien servir?!

Dans certains cas spécifiques, il peut être intéressant de lancer 2, 3 voire plusieurs applications en même temps pour gagner du temps. Des dizaines d'exemples existent en dehors des classiques lanceurs pour updater et upgrader ou autres.


Exemple de commandes multiples: Commandes de nettoyage complet pour Ubuntu et consorts...

 sh -c "sudo apt autoclean; sudo apt clean; sudo apt autoremove --purge"  



Un exemple de lanceur pour plusieurs applis (je l'utilise en ce moment)
Dans mon cas: J'ai changé de gestionnaire de mots de passe. Je suis passé de Password-Gorilla (qui utilise une base de données compatible Pasaffe) à KeepassX. L'importation est possible mais ne fonctionne pas correctement. Donc, je fais ça manuellement et progressivement au jour-le jour (oui, c'est fastidieux surtout quand on a accumulé plus de 200 mots de passe!). Quand j'ai besoin d'un mot de passe (souvent, car j'utilise des mots de passes alambiqués et donc impossible de m'en souvenir!), je lance donc l'ancien puis le nouveau gestionnaire et j'en profite pour mettre à-jour le nouveau. Bon, je suis quand même obligé de rentrer mon mot de passe principal pour chacun d'eux mais c'est une sécurité à ne pas contourner... Trop dangereux par les temps qui courent...!

J'en avais déjà parlé par le passé mais cette fois, avec mon lanceur de gestionnaires de mots de passe, j'ai eu un problème (sous Manjaro + XFCE): la 2e appli refusait tout bonnement de s'ouvrir tant que la deuxième n'était pas fermée... ce qui ne me convenait pas du tout! J'ai donc tâtonné et je me suis rendu-compte qu'en mettant 1 seule "Esperluette" (le signe "&"), ça fonctionnait nickel. D'habitude, en effet, on en met 2: "&&". L'utilisation du point-virgule (;) ne fonctionne pas non plus ici.
Ce genre de commande est une sorte de script simplifié.


 sh -c "keepassx & password-gorilla"



Un autre exemple

Chaque matin, je fais mon bulletin météo (amateur) et ceci depuis près de 10 ans. Cela m'oblige à ouvrir de nombreuses applications (notamment des ChromeApps) pour avoir une bonne vue d'ensemble du temps dans la région mais je lance aussi mon éditeur html. Un lanceur d'applis "par lots" n'est donc pas inintéressant. Ça m'évite d'avoir à fouiller dans mon panel (dock).


 sh -c "leafpad & /opt/google/chrome/google-chrome --app-id=xxxxxx & bluegriffon"

À noter que le "&" ou "esperluette" (en Français. "Ampersand" en Anglais) est un opérateur qui signifie "et". En "bash", ce caractère est d'habitude dédoublé (&&).

  • && entre deux commandes: si la première rate, la deuxième n'est pas lancée.
  • & (1 seule). Je n'ai trouvé aucune explication concernant son utilité. Tout ce que je sais c'est qu'elle fonctionne chez moi..
  • ; (point-virgule ou semicolon en Anglais): même si la première commande rate, la deuxième ou les suivantes seront lancées (ne fonctionne pas dans le cas présent)



Un autre exemple de commande multiple et son équivalent en script

 cd /my_folder; rm *.jar; svn co path to repo; mvn compile package install  

Script:

 #! /bin/sh
cd /my_folder \
&& rm *.jar \
&& svn co path to repo \
&& mvn compile package install  


Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.