[Linux] – Récupérer la ligne de commande et les paramètres qui viennent d’être saisie !
Okey Okey, je me doute que le titre n’est pas méga accrocheur, et que la plupart d’entre vous, risquent de décrocher à sa simple lecture.
Cet article s’adresse donc aux « Linuxiens » (et aux curieux), car cela fait un paquet de temps que je n’ai pas écrit d’article sur Linux, et surtout, que ça me manquait un peu !
Un peu d’histoire …
Je suis actuellement en mission à la sécurité sociale …
Eh oui … je suis probablement entrain d’endetter encore plus notre pauvre pays !
Enfin bon, j’ai mis en place récemment un produit, que l’on administre et que l’on configure à l’aide d’un ensemble de scripts de mon cru !
Et … bien entendu, il peut arriver que les personnes l’utilisant souhaitent le réinstaller !
C’est là, que cet article intervient !!!
Un exemple, pour mieux comprendre …
Lorsque vous installez votre ordinateur …
Vous le configurez …
Vous le customisez …
Bref vous le faite vivre !
Puis un jour vient, où … grand ménage de printemps, vous désirez, pour une raison ou une autre le réinitialiser …
Vous souhaitez cependant conserver vos « configuration » / « customisation » sur lesquelles vous avez probablement passé déjà pas mal de temps…
Dans l’exemple ci-dessus, avoir un historique de toutes les lignes de commandes « utiles« , que vous avez pu saisir, ça peut-être pas mal !
Bien entendu, lorsque je dis « toutes les lignes de commande » … j’entends par là, que vous avez la possibilité de cibler uniquement les « commandes » à conserver …
Par exemple :
DeployerMonServeur.sh –nomDeDomaine « Dyrk.org » –bdd « dyrk_db » –user_db « admin_dyrk » –password_db « password_dyrk » …
Ou encore :
AjouterUnUtilisateur.sh –username « MarieAntoinette » –password « MichelineDu93«
Soyons imaginatif, on peut imaginer ici, un Admin Système sur un environnement « spécifique » et réalisant une migration …
Celui-ci devra probablement se retaper des dizaines de lignes de commande …
La mise en place final
Nous arrivons enfin aux quelques lignes de commande qui vous permettront dans ces scripts d’extraire à la fois le nom du script, ainsi que ses paramètres, dans l’ordre, tout en gérant les divers espaces, parenthèses ou caractères spéciaux !
Appelons notre script ~/RePlay.sh :
Donnons-lui maintenant les droits d’exécution (pour pouvoir l’utiliser directement) :
chmod +x RePlay.sh
Vous n’aurez donc plus qu’à ajouter dans votre fichier de profile ~/.bash_profile un nom de fichier d’exportation des lignes de commande :
export ReplayFile=~/sauvegarde_commandes.log
Si vous voulez tout de suite tester, il vous faudra « sourcer » le fichier .bash_profile :
source ~/.bash_profile
Puis ajouter dans vos différents scripts cette ligne de commande :
~/RePlay.sh $ReplayFile
Et voilà, vous pouvez tester !
Ci-dessus, 3 scripts, utilisant « replay.sh »
Je les exécute avec plein de paramètres plus ou moins complexe, ainsi que des redirecteurs ( <, >, |, …)
Et toutes ces commandes sont bien stockées dans le fichier de log ! Ici « test.log »
Conclusion
Voilà, je vous laisse à présent vous amuser, et surtout, je vous souhaite à tous un très bon Weekend !
N’hésitez pas, si vous avez des idées à me les partager par commentaire :)