Outils pour utilisateurs

Outils du site


issue178:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue178:c_c [2022/03/01 11:28] auntieeissue178:c_c [2022/03/03 15:04] (Version actuelle) andre_domenech
Ligne 3: Ligne 3:
 How about we go script-ception? Scripts within scripts, that make scripts. Now the recipe for making scripts is; you create the file, edit the script and change the mode before running it. (Simplified). The main reason I write scripts is usually to automate something tedious. Imagine having to create say 44 users on a new server for scanners in the organization. Instead of having to create scanner1, then scanner2, and so on, wouldn’t it be nice to do it all in one go? This is where you would use scripts in real life. Have you deployed a bunch of containers and need to do something across a bunch of them? Script. So, what I am sharing with you is not useless. However, many times, people will try to tell you the terminal is dead, it really isn’t. ** How about we go script-ception? Scripts within scripts, that make scripts. Now the recipe for making scripts is; you create the file, edit the script and change the mode before running it. (Simplified). The main reason I write scripts is usually to automate something tedious. Imagine having to create say 44 users on a new server for scanners in the organization. Instead of having to create scanner1, then scanner2, and so on, wouldn’t it be nice to do it all in one go? This is where you would use scripts in real life. Have you deployed a bunch of containers and need to do something across a bunch of them? Script. So, what I am sharing with you is not useless. However, many times, people will try to tell you the terminal is dead, it really isn’t. **
  
-Dans le dernier numéro, nous avons examiné un script simple où nous avons posé une question et manipulé la réponse. Dans l’avant-dernier numéro, nous avons regardé les variables. Alors, nous allons construire sur ce que nous savons jusqu’ici et y ajouter un autre bloc de Lego, si vous voulez bien. Nous ne ferons pas de grands sauts pour ce faire, car je pense que vos connaissances du scriptage sont quasi nulles. Toutefois, je m’attends à ce que vous connaissiez des choses simples comme les opérateurs, de quel type de parenthèse je parle et comment chercher une commande dans les pages man (ou pages bro, ou yelp ou quoi que ce soit).+Dans le dernier numéro, nous avons examiné un script simple où nous avons posé une question et manipulé la réponse. Dans l’avant-dernier numéro, nous avons regardé les variables. Alors, nous allons construire sur ce que nous savons jusqu’ici et y ajouter un autre bloc de Lego, si vous le voulez bien. Nous ne ferons pas de grands sauts pour ce faire, car je pense que vos connaissances du scriptage sont quasi nulles. Toutefois, je m’attends à ce que vous connaissiez des choses simples comme les opérateurs, de quel type de parenthèse je parle et comment chercher une commande dans les pages man (ou pages bro, ou yelp ou quoi que ce soit).
  
-Et si nous faisions du script-ception ? Des scripts à l’intérieur de scripts, qui créent des scripts. Bon, la recette pour des scripts est : vous créez le fichier, éditez le script et changez le mode avant de l’exécuter. (Simplifié.) La raison principale pour laquelle j’écris des scripts est généralement pour automatiser quelque chose de fastidieux. Imaginez devoir créer disons 44 utilisateurs sur un nouveau serveur pour les scanners dans l’organisation. Au lieu de devoir créer scanner1, puis scanner2, etc., ce serait mieux de le faire pour tout le monde en une seule fois, non ? C’est ici où vous utiliseriez des scripts dans le monde réel. Avez-vous déployé une foule de conteneurs et maintenant vous devez faire quelque chose à tout un groupe de ceux-ci ? Script. Voilà ! Ainsi, ce que je partage avec vous n’est pas inutile. Cependant, maintes fois, des gens essayeront de vous dire que le terminal est mort ; mais ce n'est pas vrai.+Et si nous faisions du script-ception ? Des scripts à l’intérieur de scripts, qui créent des scripts. Bon, la recette pour des scripts est : vous créez le fichier, éditez le script et changez le mode avant de l’exécuter. (Simplifié.) La raison principale pour laquelle j’écris des scripts est généralement pour automatiser quelque chose de fastidieux. Imaginez devoir créer disons 44 utilisateurs sur un nouveau serveur pour les scanners de l’organisation. Au lieu de devoir créer scanner1, puis scanner2, etc., ce serait mieux de le faire pour tout le monde en une seule fois, non ? C’est ici que vous utiliseriez des scripts dans le monde réel. Avez-vous déployé une foule de conteneurs et maintenant vous devez faire quelque chose à tout un groupe de ceux-ci ? Script. Voilà ! Ainsi, ce que je partage avec vous n’est pas inutile. Cependant, maintes fois, des gens essayeront de vous dire que le terminal est mort ; mais ce n'est pas vrai.
  
 **Join me by whipping out your favourite terminal emulator and do what I do. I am a firm believer that when you do something, you remember it better than just reading. I promise to keep these short, so you don’t get bored. Just one quick point before we have to come back, we looked at outputting text to the screen with echo, but we can also take input with “read”. Let me illustrate;  **Join me by whipping out your favourite terminal emulator and do what I do. I am a firm believer that when you do something, you remember it better than just reading. I promise to keep these short, so you don’t get bored. Just one quick point before we have to come back, we looked at outputting text to the screen with echo, but we can also take input with “read”. Let me illustrate; 
Ligne 24: Ligne 24:
 On a side note, you can use the -s option for things like passwords, where the user’s input will not be displayed, if you did not know about it.** On a side note, you can use the -s option for things like passwords, where the user’s input will not be displayed, if you did not know about it.**
  
-Faites comme moi et sortez votre émulateur de terminal préféré, puis faites ce que je fais. Je crois fermement que, quand vous faites quelque chose, vous vous en souvenez mieux que si vous vous contentez de le lire. Je promet de les garder courts, pour que vous ne vous ennuyiez pas. Juste un truc rapide avant de commencer : nous avons regardé comment sortir du texte à l’écran avec echo, mais nous pouvons aussi créer une entrée avec « read ».  Permettez-moi d’illustrer cela : +Faites comme moi et sortez votre émulateur de terminal préféré, puis faites ce que je fais. Je crois fermement que, quand vous faites quelque chose, vous vous en souvenez mieux que si vous vous contentez de le lire. Je promets de les garder courts, pour que vous ne vous ennuyiez pas. Juste un truc rapide avant de commencer : nous avons regardé comment sortir du texte à l’écran avec echo, mais nous pouvons aussi créer une entrée avec « read ».  Permettez-moi d’illustrer cela : 
  
 nano exts.sh – pour démarrer un nouveau fichier dans l’éditeur nano. nano exts.sh – pour démarrer un nouveau fichier dans l’éditeur nano.
- 
  
 #! /bin/bash  #! /bin/bash 
Ligne 39: Ligne 38:
 Maintenant, enregistrez ce script et rendez-le exécutable (vous savez déjà comment le faire), puis lancez votre script. Veuillez ne pas faire un copier/coller, car cela ne fonctionnera pas ; il faut le taper. Puisque les récentes versions de nano supportent le surlignement de la syntaxe, assurez-vous que le vôtre ressemble plus ou moins au mien, ou vous aurez des erreurs. Maintenant, enregistrez ce script et rendez-le exécutable (vous savez déjà comment le faire), puis lancez votre script. Veuillez ne pas faire un copier/coller, car cela ne fonctionnera pas ; il faut le taper. Puisque les récentes versions de nano supportent le surlignement de la syntaxe, assurez-vous que le vôtre ressemble plus ou moins au mien, ou vous aurez des erreurs.
  
-Notons par ailleurs que vous pouvez utiliser l’option -s pour des choses comme des mots de passe ou la saisie de l’utilisateur ne s’affichera pas, si vous en étiez ignorant.+Notons par ailleurs que vous pouvez utiliser l’option -s pour des choses comme des mots de passe, où la saisie de l’utilisateur ne s’affichera pas, si vous en étiez ignorant.
  
  
Ligne 52: Ligne 51:
 So fire up a terminal emulator, and nano like before, and let’s get cracking! ** So fire up a terminal emulator, and nano like before, and let’s get cracking! **
  
-Quand vous exécutez votre script, il devrait terminer proprement et rien n’aura changé dans le terminal, mais si vous faites un « ls » ou ouvrez votre navigateur de fichiers, vous devrez voir un nouveau fichier avec l’extension que vous avez tapée. Dans mon cas, j’ai choisi « .txt »oui, c’est très original.+Quand vous exécutez votre script, il devrait se terminer proprement et rien n’aura changé dans le terminal, mais si vous faites un « ls » ou ouvrez votre navigateur de fichiers, vous devriez voir un nouveau fichier avec l’extension que vous avez tapée. Dans mon cas, j’ai choisi « .txt » oui, c’est très original.
  
-Vous pourriez avoir remarqué le deux-points et l’espace avant les guillemets fermant ; c’est parce que la commande read s’en fiche et prend votre saisie de là où vous l’avez tapée, mais nous travaillons avec des êtres humains et il faut que ce soit lisible. (Autrement dit, de la poudre aux yeux.) S’il vous plaît, essayez-le et regardez le résultat pour que vous reconnaîssiez l’erreur quand vous le verrez.+Vous pourriez avoir remarqué le deux-points et l’espace avant les guillemets fermants ; c’est parce que la commande read s’en fiche et prend votre saisie de là où vous l’avez tapée, mais nous travaillons avec des êtres humains et il faut que ce soit lisible. (Autrement dit, de la poudre aux yeux.) S’il vous plaît, essayez et regardez le résultat pour que vous reconnaissiez l’erreur quand vous la verrez.
  
-Le « mv » est tout simplement la commande move que nous utilisons pour renommer le fichier. La syntaxe est, mv < vieux nom de fichier> <nouveau nom de fichier> - rien de difficile ou bizarre.+Le « mv » est tout simplement la commande move que nous utilisons pour renommer le fichier. La syntaxe est, mv <vieux nom de fichier> <nouveau nom de fichier> - rien de difficile ou bizarre.
  
-Maintenant nous arrivons à la partie paresseuse… erm la création d’un script dans le style d’inception. *toussotement +Maintenant nous arrivons à la partie paresseuse… ermla création d’un script dans le style d’inception. *toussotement
  
 Bon, ouvrez un émulateur de terminal et nano comme auparavant et commençons ! Bon, ouvrez un émulateur de terminal et nano comme auparavant et commençons !
Ligne 72: Ligne 71:
 Enregistrez le code ci-dessous, rendez votre script exécutable et lancez-le. Enregistrez le code ci-dessous, rendez votre script exécutable et lancez-le.
  
-Voici (en à droite) un aperçu rapide de l’écran de mon PC, pour que vous puissiez voir l’« avant » et l’« après » du lancement du script. (J’ai nommé le fichier tt.sh.)+Voici (en bas à droite) un aperçu rapide de l’écran de mon PC, pour que vous puissiez voir l’« avant » et l’« après » du lancement du script. (J’ai nommé le fichier tt.sh.)
  
 Maintenant, lancez votre fichier, car il est déjà exécutable. Que s’est-il passé ? Allez-y et essayez, je ne vous le dirai pas. Maintenant, lancez votre fichier, car il est déjà exécutable. Que s’est-il passé ? Allez-y et essayez, je ne vous le dirai pas.
  
-Vous pouvez répéter cela de très nombreuses fois et chaque fois, vous aurez un script exécutable prêt à être lancé. Vous pouvez incorporer presque toute commande/commandes dans un script ou dire au script de créer plus d’un script. Voyez-vous où cela nous amène ? Je suis certain que quelqu’un a créé un script qui créera d’autres scripts jusqu’à ce que le disque soit plein pour plaisanter.+Vous pouvez répéter cela de très nombreuses fois et chaque fois, vous aurez un script exécutable prêt à être lancé. Vous pouvez incorporer presque toute(s) commande/commandes dans un script ou dire au script de créer plus d’un script. Voyez-vous où cela nous amène ? Je suis certain que quelqu’un a créé un script qui créera d’autres scripts jusqu’à ce que le disque soit plein pour plaisanter. 
  
 **#! /bin/bash **#! /bin/bash
Ligne 114: Ligne 114:
 echo "File created" echo "File created"
  
-Nous avons déjà discuté de la première partie ; « touch » crée tout simplement un fichier vide avec le nom que vous lui avez donné. Quand nous utilisons echo avec le caractère plus-grand-que double, ou  chevron, il ajoutera tout ce qui se trouve entre les crochets à la fin du fichier que nous créons. Il faut vous assurer qu’il ne s’agit pas d’un seul caractère plus-grand-que, car cela écrasera le contenu de votre fichier.+Nous en avons déjà discuté dans la première partie ; « touch » crée tout simplement un fichier vide avec le nom que vous lui avez donné. Quand nous utilisons echo avec le caractère plus-grand-que double, ou chevron, il ajoutera tout ce qui se trouve entre les crochets à la fin du fichier que nous créons. Il faut vous assurer qu’il ne s’agit pas d’un seul caractère plus-grand-que, car cela écrasera le contenu de votre fichier.
  
-À ce stade, vous connaissez le chmod et la dernière ligne a été ajouté tout simplement pour que vous ayez un retour quand le processus est terminé.+À ce stade, vous connaissez chmod et la dernière ligne a été ajoutée tout simplement pour que vous ayez un retour quand le processus est terminé.
  
 Comme vous pouvez le voir, rien d’étrange concernant bash, mais cela ouvre une boîte de Pandore pour ceux qui veulent essayer. Comme vous pouvez le voir, rien d’étrange concernant bash, mais cela ouvre une boîte de Pandore pour ceux qui veulent essayer.
issue178/c_c.1646130492.txt.gz · Dernière modification : 2022/03/01 11:28 de auntiee