Programmation en bash - partie 3

Pour sécurise notre concepts Nous allons apprendre 2 outils de programmation très utiles qui fonctionnent parfaitement dans Bash. Apprenez à créer funciones et définir tuyaux peut sembler complexe au premier abord, mais ensuite nous verrons l'immense Utilidad qu'ils nous fournissent.

Tuyaux

Plus précisément, et sans prendre trop de tours, un pipeline est une méthode qui permet de diriger la sortie d'un processus comme l'entrée d'un autre, ce qui permet une série d'avantages, tels que la réduction des lignes de code, la suppression des variables de stockage des résultats et l'amélioration du l'efficacité du script.

Un tuyau est généralement reconnu par le symbole | qui permet de concaténer des expressions; Bien qu'il soit utilisé par défaut, il existe d'autres façons de créer des tuyaux.

Exemple: imprimer les messages récents du noyau

#dmesg vous permet de voir les messages récents du noyau et les pilotes chargés # pendant le démarrage du système; tail imprime les dernières parties d'un fichier ou #command

dmesg | queue

Bien qu'ils puissent être compliqués autant que nous le souhaitons, la structure de base d'un pipeline permet au résultat d'une commande d'être utilisé comme entrée pour la suivante, ce qui peut fournir une entrée pour une nouvelle commande si nous continuons à ajouter des tubes consécutifs.

fonctions

Les fonctions sont un ensemble d'instructions qui sont regroupées afin de pouvoir être exécutées plusieurs fois sans avoir à les réécrire. Cela revient à penser que lorsque nous apprenons à cuisiner un type d'aliment, nous écrirons sa recette sur une feuille, et chaque fois que nous voulons cuisiner cet aliment, nous consultons la recette au lieu de réécrire une nouvelle feuille avec la même recette.

La chose la plus importante à propos des fonctions est peut-être la possibilité de passer des paramètres, des données qu'elles utiliseront pour les traiter et générer une sortie. Sa structure est la suivante:

function nom-fonction {

processus

}

Exemple: fonction qui montre les services qui fonctionnent sur le protocole tcp. Nous pouvons également voir comment appliquer plus de tuyaux.

# On définit un nom de fonction, ça peut être celui qu'on aime.

function services_tcp {

#cat concatène et affiche le contenu du dossier / etc / services, qui # contient tous les services avec leurs ports associés.

# le premier grep prend la liste et supprime les commentaires, avec –v on inverse le résultat

# le second grep ne montre que ceux liés à tcp

chat / etc / services | grep –v "^ #" | grep tcp

}

Lorsque nous devons exécuter cette fonction, il suffit de l'appeler par son nom:

tcp_services

Dans ce cas, cela fonctionne sans paramètres; Dans le cas où il les a, nous devons les ajouter pour que la fonction fonctionne correctement, sinon la fonction ne fonctionnera pas correctement. L'utilisation de return permet à une fonction de renvoyer une valeur à la suite du processus.

Exemple: fonction avec des paramètres d'entrée qui calcule la somme de 2 nombres.

#! / Bin / bash
fonction somme ()
{
# avec let nous pouvons exécuter l'opération entre les guillemets
soit "résultat = 1 $ + 2 $"

#return permet de renvoyer la valeur entière. Une fois le retour exécuté, la valeur sera déposée dans la variable $?
return $ result;
}
 
# La fonction somme est appelée et on passe 2 paramètres d'entrée.

ajouter 2 3

# imprime la valeur de $? avec echo évaluant la valeur réelle de la variable entre guillemets
echo -e "Résultat = $?";

<< Aller à la partie précédente

Merci Juan Carlos Ortiz!


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Pointeur Nill dit

    Je ne suis pas sûr, mais l'instruction de retour des fonctions n'est utilisée que pour renvoyer un entier entre 0 et 255, comme les codes d'erreur de "exit", généralement 0 si tout va bien et un autre nombre pour les autres cas. Bien que cela fonctionne dans l'exemple, je ne pense pas que ce soit une bonne pratique de renvoyer le résultat avec retour.
    Là-bas, je dis un non-sens hein! œil! Ha!

  2.   Juank dit

    La vérité m'a laissé un doute. Dans tous les cas, pour éviter des problèmes avec les fonctions, on peut remplacer le return par echo dans le cas où la fonction cherche à retourner ou à imprimer une valeur ou une chaîne.

  3.   Abel S. Mount Big dit

    C'est vrai, pour résoudre ce problème, vous pouvez utiliser la commande bc, dans la fonction sum, vous pouvez utiliser: result = `echo $ 1 + $ 2 | bc -ql`

  4.   Luis Miguel dit

    bon,

    Je voudrais savoir où je peux enregistrer les fichiers bash pour exécuter à l'échelle du système et ce n'est pas le répertoire bin, mais peut être à la maison pour la sauvegarde.

    Gracias y saludos.

  5.   Joaquin dit

    Merci beaucoup, je commence par les scripts, et la vérité est que c'est très utile, vous êtes très gentil de partager vos connaissances!
    salutations

    1.    utilisons Linux dit

      Je vous remercie! Étreinte!
      Pablo

  6.   Cristhian dit

    Erreur de syntaxe, inattendue
    J'obtiens une erreur en essayant d'exécuter l'exemple, je l'ai copié exactement de la même manière

    qui peut être? je suis sur ubuntu 14.10