Comment créer une fonction bash qui renvoie un tableau

Comment créer une fonction bash qui renvoie un tableau
Il peut apparaître au début que le retour d'un tableau d'une fonction bash n'est pas réaliste. Compte tenu de tous les avantages, il peut être utile d'appeler plusieurs méthodes pour construire des tableaux pour diviser le processus de collecte de tous les paramètres appropriés pour un appel YAD.

Il y a plusieurs raisons pour lesquelles on pourrait vouloir restaurer un tableau bash:

  • La gestion de la durée de vie des tableaux est plus simple car ils sont affectés localement.
  • Pour une réalisation juste dans le temps, l'obtention de tableaux à partir de méthodes peut aider.
  • Pour prendre en charge les techniques d'algorithme de journal, les noms des méthodes qui renvoient les tableaux peuvent être rejetés.

Vous pouvez croire que Bash perd la capacité de retourner les tableaux de fonction. Cependant, ce n'est pas exactement correct. Il est possible de déplacer le tableau résultant vers une méthode par référence, en prenant des signaux de développeurs C / C ++. Une telle stratégie permet à la méthode de continuer à être libre de références à une variable globale. L'article suivant montre des instances claires de cette affaire.

Exemple 1: Renvoi d'un tableau

Connectez-vous à votre système Linux et ouvrez le terminal de commande pour continuer. Nous allons créer un fichier bash nommé «Script.sh ”en utilisant le touche commande pour renvoyer le tableau à l'aide de la fonction bash. Le script est le suivant:

$ tactile script.shot

Vous pouvez afficher le fichier nouvellement créé dans le Maison annuaire. Ouvrez ce fichier et notez le code annexé en tant que. Ici, nous essayons de créer un tableau associatif via un argument dans une méthode à partir d'une liste de liste.

Initialement, nous avons créé la fonction foo ().

À l'intérieur de ce programme, nous avons supprimé le terme «Declare», qui est une commande préconfigurée bash qui nous permet de modifier ou de personnaliser les attributs, les méthodes de la coque en macultes aux variables et démontrent les valeurs de ces attributs à l'intérieur du Span de notre borne de commande de coquille. De plus, il peut être utilisé pour définir une longue variable. Enfin, il est utilisé pour définir les variables.

Nous avons ajouté la valeur «Foovale» au tableau «arr».

Le mot-clé «-a» est utilisé pour créer le Des noms tableau associatif si vous êtes soutenu. Nous devons utiliser la liste / tableau comme variable globale, ce qui implique que seule une méthode, et non un script, peut effectuer cette action.

Nous avons également créé un autre tableau, nommé «Myarr», pour une utilisation comme référence. Bash permet au nom d'une variable relative d'être différente du nom de la variable relative Myarr.

Après cela, dans la huitième ligne, nous avons passé le tableau «Myarr» au bash foo () fonctionner comme une référence.

Dans le passé, nous avons utilisé la boucle «pour» pour imprimer les tableaux «Arr» et «Myarr» au foo () fonction.

Nous allons maintenant vérifier le résultat de ce code. Exécutez la commande bash pour exécuter le code ci-dessus. Vous pouvez voir que le tableau a été retourné à la fonction puis imprimé.

$ script bash.shot

Exemple 2: renvoyer un autre tableau

Regardons un autre exemple de retour des tableaux à une fonction. Ouvrez votre terminal de commande et créez un nouveau fichier nommé «OpenVPN.journal »en utilisant le touche Commande, comme suit:

$ touch openvpn.enregistrer

Maintenant, ouvrez le «OpenVPN.Enregistrer le fichier »et écrire le texte suivant dans ce fichier, comme indiqué. Enregistrez ce fichier et fermez-le.

Encore une fois, ouvrez le shell de commande et créez un autre fichier nommé "Script.sh », en utilisant le touche commande pour ajouter le script bash au fichier.

$ tactile script.shot

Ensuite, ouvrez le «script.SH ”fichier et ajouter le code suivant dans ce fichier tel quel. Enregistrer et fermer ce fichier. Ce script utilisera une méthode qui lit les valeurs / chaînes à partir d'un document et renvoie un tableau:

  • Déclarer le tableau: les clients
  • Allouer le tableau renvoyé de la méthode pour les clients des arrayants
  • Afficher le tableau: les clients

Laissez maintenant un regard détaillé sur le fonctionnement de ce script.

  • Nous avons déclaré un éventail mondial de «clients» en utilisant le mot-clé «Declare», suivi de «-a."
  • Le ReadArray () La fonction a été définie. Dans cette fonction, nous avons déclaré quelques variables locales. La variable locale «tableau» est vide, mais «i» et «j» ont été définis avec la valeur 0 à utiliser comme itérateurs.
  • En utilisant le mode de lecture, nous lirons le texte du fichier en utilisant les itérateurs pour incrémenter les index.
  • La ligne «Clients [$ ((i ++))] + = $ line;» est utilisé pour ajouter les lignes de texte à la variable de tableau «clients» définie à l'échelle mondiale.
  • Après cela, "J ++" saute sur l'index suivant.
  • La variable «1 $» est utilisée pour économiser et retourner le tableau qui vient d'être créé à partir de «OpenVPN.Fichier texte.
  • À l'extérieur de la fonction, la chaîne a été déclarée «$ String» et a reçu un chemin de fichier comme valeur.
  • Cette chaîne a été transmise au lecture Fonctionne comme référence pour lire le texte de ce fichier.
  • Après cela, le tableau «clients» a été imprimé, et l'ensemble du texte à l'intérieur a été affiché en une seule ligne.
  • Maintenant, nous allons afficher un message que le tableau n'est plus vide.
  • La boucle «pour» a été utilisée pour convertir le contenu du tableau «clients» en type de tableau et déclarer un index pour le contenu en utilisant la déclaration «Echo« $ i: $ clients [$ i]."
  • Enfin, nous avons affiché un message et imprimé quelques valeurs converties séparément en une seule position indexée d'un tableau.

Laissez maintenant vérifier la sortie de ce script bash. Exécutez la commande bash pour exécuter le «script.fichier sh ”. Comme vous pouvez le voir, la première instruction ECHO imprimera tout le texte de l'OpenVPN.Fichier de journal, qui a été enregistré dans le tableau «clients» en une seule ligne. La deuxième instruction ECHO affichera le message de chaîne. La troisième instruction ECHO affichera le tableau «clients» sous forme indexée, car il vient d'être converti. Le quatrième affichera à nouveau un message. Le dernier affichera individuellement le contenu du tableau des «clients».

Conclusion

Cet article vous a montré comment renvoyer des tableaux (en particulier les tableaux associatifs) à une fonction en utilisant la commande intégrée «Declare» avec deux exemples. J'espère que cet article vous a aidé à mieux comprendre ce sujet.