Il y a plusieurs raisons pour lesquelles on pourrait vouloir restaurer un tableau bash:
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:
Laissez maintenant un regard détaillé sur le fonctionnement de ce script.
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.