Bases de l'automatisation Bash et scripts (partie 1)

Contenu

L'automatisation d'une tâche répétitive a tendance à rendre le développeur bash heureux: au lieu de taper des commandes sans fin encore et encore, un script fait juste le travail à plusieurs reprises. Bash est idéal pour une telle automatisation. Cette série vous aidera à démarrer!

Qu'est que c'est Automatisation Bash?

Le shell Bash est un shell Linux puissant qui permet une automatisation en profondeur des tâches répétitives. Le shell Bash Linux n'est pas seulement une alternative de choix à DevOps, bases de données et ingénieurs de test, Au lieu de cela, les utilisateurs quotidiens peuvent bénéficier de compétences bash qui augmentent lentement et régulièrement.. Bash est aussi un langage de programmation et de programmation qui grandit en vous. Je code activement dans Bash depuis 2012 et je l'ai utilisé beaucoup plus longtemps.

Bash se prête également à de nombreux domaines d'application et cas d'utilisation différents.. Par exemple, vous pouvez facilement l'utiliser pour la gestion du Big Data et, étonnamment, semble se prêter extrêmement bien à cette tâche en raison du grand nombre d'outils de traitement de texte disponibles, ou disponibles sous forme de packages faciles à installer. Il est également très approprié pour planifier et maintenir des sauvegardes et des bases de données., ou pour gérer des solutions de stockage de fichiers volumineux, automatisation de serveur Web et bien plus encore.

Une chose que j'ai trouvée est que chaque fois que le problème suivant se produit, une petite recherche sur un moteur de recherche ou sur les multiples sites Stackoverflow, fournira rapidement non seulement une solution au problème, mais une possibilité de grandir et d'apprendre. Il s'agit d'une expérience très équivalente à celle d'une personne apprenant à devenir éditeur.. vi où va la même chose; chaque fois qu'il y a un obstacle, la réponse est proche.

Cette mini-série se compose de trois parties dont la première, et nous y verrons les concepts de base de l'automatisation et des scripts Bash.

Le sujet!

Vous vous demandez peut-être quel genre de titre est-ce ?. Et j'aurais raison, à moins que vous ne parliez à un développeur Linux expérimenté. Ils souriraient au mieux. C'est parce que les deux premières lettres d'un script bash bien écrit seraient toujours, bon, Case!

Il y a deux personnages, a savoir #! qui peut être placé au-dessus d'un script, qui indique à l'interprète quel interprète peut, devrait et sera utilisé pour traiter le script en question. Il arrive que ce symbole dans son ensemble s'appelle Le sujet comme un tout.

Pour cela, pour développer notre déclaration précédente: la première ligne d'un script bash bien écrit doit commencer par #!/bin/bash pour indiquer la coquille (quel que soit le shell utilisé, il pourrait être, par exemple, bash O sh O zsh) on veut le binaire /bin/bash (coquille nue Bash) pour exécuter ce code.

Mettons cela en pratique, définir un petit script test.sh comme suit:

#!/bin/bash

echo 'Hello CloudSavvyIT Readers!'

Vous pouvez créer ce script en utilisant votre éditeur de texte préféré, qui serait de préférence un éditeur qui n'utilise que des polices à espacement fixe comme nous, pousser, nano ou un éditeur basé sur du texte brut sur votre bureau Linux, et de préférence en évitant des choses comme un traitement de texte comme OpenOffice Writer, etc., car ils peuvent écrire des données supplémentaires indésirables ou des caractères binaires dans notre script. En d'autres termes; nous devons utiliser du texte brut.

Une fois ce script défini, nous le rendons exécutable en exécutant chmod +x test.sh sur la ligne de commande. Nous pouvons donc démarrer le script en appelant simplement son nom avec le préfixe ./: ./test.sh

Notre premier script bash utilisant shebang et echo

Paramètres d'entrée

Dès que je commence à écrire des scripts, vous constaterez probablement que vous souhaitez transmettre des paramètres d'entrée au script. Une façon de faire est d'utiliser les paramètres de position simples qui sont disponibles dans Bash par défaut. Jetons un coup d'œil à un exemple de script test2.sh, que nous définissons comme suit:

#!/bin/bash

echo "${1}"

Ici, nous avons utilisé le paramètre de position ${1}. Cette variable reflétera le premier mot (espace séparé par défaut) qu'est-il arrivé à notre script, sauf si un devis est utilisé. Voyons comment cela fonctionne:

Utilisation de paramètres positionnels dans notre deuxième script bash

Après avoir rendu notre script exécutable à nouveau avec chmod +x test2.sh nous exécutons la même chose et passons un seul mot hello comme premier paramètre de position (${1}). Le résultat est que hello se répète pour nous.

C'est parce que lorsque le script a été lancé, la variable ${1} (O $1 même si je recommande de toujours mettre des guillemets autour des noms de variables) a été mis à la valeur du premier paramètre de position; le premier mot ou chaîne entre guillemets après le nom du script.

Puis on passe hello world, malgré cela, cela vient de faire écho hello Retour à nous. La raison est simple; le deuxième mot (séparés par défaut par un espace) ressemble au deuxième paramètre de position et, pour cela, démarre comme ${2} dans le scénario, non ${1}.

Nous contournons ce comportement en mettant des guillemets autour de l'entrée lorsque nous passons 'Hello CloudSavvyIT Readers!'. Des guillemets simples ou doubles auraient fonctionné, même lorsque son fonctionnement est différent, plus à ce sujet dans la prochaine partie de cette série. Le résultat est que notre premier paramètre de position ${1} est indiqué dans le texte intégral Hello CloudSavvyIT Readers!, et donc ça nous fait écho la même chose.

Si vous voulez plus d'informations sur les variables, nos articles Fonctions Bash et Variables locales et Exportation de variables dans Bash: les messages pourquoi et comment peuvent également être intéressants.

Fin

Dans ce billet, nous avons examiné le premier ensemble de bases de l'automatisation et des scripts bash. Nous avons appris ce qu'est l'automatisation Bash et Shebang, et comment commencer à passer des variables d'entrée à nos scripts.

En Bash Automatisation et bases de scripts (Partie 2), nous analysons les cotations variables et plus. apprécier!

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.