Vous voulez devenir un programmeur professionnel ? Vous allez devoir découvrir Bash.
Bash (Bourne Again Shell) est un programme shell à interface de ligne de commande qui facilite la navigation et le contrôle du système d’exploitation de votre ordinateur. Apprendre à utiliser Bash vous aidera à améliorer votre gestion des fichiers et des bases de données, à automatiser des tâches et à mieux intégrer vos scripts dans différents langages de programmation.
Pour commencer, consultez ce cours Apprendre les scripts Bash. Puis, une fois que vous aurez maîtrisé les bases, utilisez les 9 défis de code de script Bash ci-dessous pour mettre en pratique vos nouvelles compétences.
1. Créer des commandes
Bien que Bash soit livré avec de nombreuses commandes intégrées utiles, une compétence clé que tout programmeur Bash devrait connaître est la création de ses propres commandes.
Écrivez une commande qui liste le contenu de votre répertoire usr/local. Votre script peut définir des variables, mais vous n’êtes pas autorisé à appeler directement des commandes dans le script. Lorsque vous exécutez votre commande, la sortie doit afficher le contenu du répertoire dans une seule colonne.
Pour un défi supplémentaire, demandez à votre commande d’accepter un seul argument qui énumère le contenu du répertoire contenu dans l’argument.
2. Choisissez votre « préféré »
Pensez à trois choses que vous aimez et créez un script Bash qui invite l’utilisateur à répondre en fonction de ces éléments. Cela pourrait être quelque chose comme « Que choisiriez-vous : … »
À l’aide de déclarations de cas, faites-en sorte que le script produise différentes réponses en fonction de la sélection choisie. Par exemple, si le gâteau est un choix et que quelqu’un choisit le gâteau, un exemple de réponse pourrait être « Excellent choix. Profitez de votre gâteau ! «
Pour rendre les choses un peu plus difficiles, ajoutez un message de réponse approprié si quelqu’un choisit quelque chose qui n’est pas sur la liste. Par exemple, « Désolé, mais ce n’est pas sur la liste. Choisissez x, y ou z, s’il vous plaît. »
Vous pouvez également demander à votre script Bash de vous fournir plus d’informations sur l’objet choisi. Par exemple, si quelqu’un choisit un gâteau, un autre invité peut demander « Quel genre de gâteau ? « Et cet invité pourrait être suivie d’une réponse finale basée sur cette entrée, telle que « Excellent choix. Profitez de votre gâteau au chocolat ! «
3. Lister et trier les répertoires
Créez un script Bash qui accepte les chemins de répertoire comme arguments. Pour chaque argument, listez le contenu de chaque répertoire avec le nom de chacun en tête de liste.
Si vous voulez vous donner un défi supplémentaire, demandez à votre script d’accepter un argument supplémentaire, « a » ou « d », qui trie le contenu de chaque répertoire dans un ordre croissant ou décroissant. Pour un défi encore plus grand, créez un script Bash qui trie le contenu des répertoires en fonction d’un argument « a » ou « d » qui le précède directement. En d’autres termes, vous devriez être en mesure de trier un répertoire dans l’ordre croissant, un deuxième répertoire dans l’ordre décroissant, et ainsi de suite.
4. Commandes SED
La commande stream editor (SED) est largement utilisée par les programmeurs Bash pour traiter et modifier du texte.
Écrivez un script Bash incluant une commande SED qui prend les fichiers de votre répertoire personnel et change leur propriétaire de votre nom d’utilisateur à l’inverse de celui-ci. Ainsi, par exemple, si votre nom d’utilisateur est Coder, votre script Bash doit changer le propriétaire en Xcoder.
Pour un défi supplémentaire, demandez à votre script d’accepter une entrée numérique, n, qui change le propriétaire des n premiers fichiers de votre répertoire personnel.
5. Commandes AWK
Une autre façon de travailler avec du texte dans Bash est d’utiliser les commandes AWK. Nous utiliserons le jeu de données suivant, composé des pays du monde et de leurs capitales.
Créez un script Bash qui produit cet ensemble de données en deux colonnes : une pour le pays et l’autre pour sa capitale.
Pour un défi supplémentaire, demandez à votre script d’accepter une lettre en entrée. Le résultat doit être uniquement les pays qui commencent par la lettre d’entrée. Pour un autre challenge, créez un autre script Bash qui produit une liste à deux colonnes triées alphabétiquement par capitale.
6. Rapports TPS
En utilisant un script Bash, générez un message électronique qui rappelle à l’utilisateur de soumettre un rapport TPS avant un certain jour. Votre script doit accepter une date ou un jour comme argument d’entrée. Par exemple, si l’utilisateur saisit « mardi », alors la sortie devrait ressembler à quelque chose comme ça :
« Veuillez soumettre vos rapports TPS avant le mardi. Votre coopération dans ce domaine est très appréciée. »
Pour un défi supplémentaire, faites-en sorte que votre script accepte des arguments pour :
-
Nom du ou des bénéficiaires
-
Date limite pour les rapports TPS
-
Clôture de la motivation
-
Expéditeur
Si l’un des arguments est vide, le message électronique doit afficher un mot ou une phrase par défaut.
7. Réveil/Alarm
Créez un script Bash qui « dort » pendant un nombre donné de secondes avant de sonner une fois le temps écoulé. Vous pouvez rendre cet exercice plus difficile en ajoutant des fonctionnalités à votre réveil, par exemple :
-
Une fonction « snooze » qui vous permet de réinitialiser le réveil pour qu’il se déclenche à nouveau après un nombre de minutes donné.
-
Une option qui vous permet de choisir parmi différents signaux sonores.
-
Une option qui permet de lire un fichier audio stocké sur votre ordinateur.
8. Détecter les disques montés
Les programmeurs qui travaillent dans Bash sont souvent des administrateurs système qui gèrent les réseaux d’ordinateurs et de serveurs. Il est donc important de savoir quels disques et systèmes de fichiers sont montés, c’est-à-dire accessibles par le système de fichiers de l’ordinateur. Notez que le fait qu’un disque ou un ordinateur soit physiquement relié par des câbles ne signifie pas toujours qu’il est monté et accessible.
Créez un script Bash qui détecte si un point de montage ou un système de fichiers donné est monté. Si c’est le cas, le script doit renvoyer la quantité d’espace utilisé sur le système de fichiers et la quantité d’espace libre. Si le système de fichiers n’est pas monté, votre script doit renvoyer un message d’erreur.
Vous cherchez un défi supplémentaire ? Ajoutez à votre script une invitation qui demande à l’utilisateur s’il veut tenter de monter le système de fichiers s’il est démonté. Lorsque le système de fichiers est monté, le script doit alors afficher la quantité d’espace utilisé et d’espace libre dans le système de fichiers.
9. Compte à rebours de récursion
On parle de récursion lorsqu’une fonction s’appelle elle-même pour effectuer la même tâche jusqu’à ce qu’une condition soit remplie. C’est ce que l’on fait le plus souvent dans Bash avec les boucles.
Créez un générateur de compte à rebours en Bash qui accepte un nombre entier positif en entrée. La sortie doit afficher des nombres décroissants, en commençant par le nombre d’entrée jusqu’à 0. Après avoir affiché 0, la sortie doit également afficher « BLAST OFF ! «
Vous cherchez quelque chose d’un peu plus difficile ? Essayez de créer une fonction Bash qui accepte un nombre quelconque d’arguments. La sortie doit imprimer chaque argument sur une nouvelle ligne. Votre script Bash ne doit utiliser la commande echo qu’une seule fois.
Tout développeur devrait connaître Bash
Que vous travailliez sur la conception de sites Web en tant que développeur front-end, que vous analysiez de grands ensembles de données en tant que Data Scientiste ou que vous gériez des bases de données en tant que développeur back-end, la connaissance de Bash et l’utilisation du terminal sont des compétences précieuses qui peuvent soutenir votre travail.
Une fois que vous aurez compris les bases du script Bash, vous pourrez continuer à développer vos compétences grâce à des cours de programmation en ligne.