Substitution variable imbriquée et variables de bash prédéfinies dans Linux - partie 11
- 3957
- 578
- Thomas Richard
Les deux derniers articles sur Bash Shell, où nous avons discuté des variables en détail ont été très appréciés parmi nos lecteurs. Nous en tant que Équipe de Tecmint sont très désireux de vous fournir des sujets les plus récents, à jour et pertinents couverts de détails. De plus, nous essayons toujours de toucher des perspectives majeures des sujets correspondants.
Variables imbriquées dans les scripts de coquilleVoici le dernier article sur les variables Linux où nous allons voir la substitution des variables et les variables définies dans Shell avant de fermer ce sujet.
Bash effectue une substitution variable avant que la commande ne soit vraiment exécutée. Le shell Linux Bash recherche tous les signes '$' avant d'exécuter la commande et le remplacer par la valeur de la variable. Le processus de substitution variable bash n'est effectué qu'une seule fois. Et si nous avons des variables imbriquées?
Note: Par variable imbriquée, nous entendons, variable déclarée à l'intérieur de la variable. Voyons le scénario ci-dessus dans l'exemple ci-dessous.
Déclarer une variable en lecture seule et exécutable comme ci-dessous.
[Protégé par e-mail]: ~ $ Declare -rx Linux_best_website = "www.Tecmint.com "
Vérifiez la valeur de la variable stockée.
[Protégé par e-mail]: ~ $ printf "% s" "$ linux_best_website" www.Tecmint.com
Déclarez maintenant une autre variable qui est à nouveau en lecture seule et exécutable.
[Protégé par e-mail]: ~ $ Declare -rx Linux_website = "Linux_best_website"
Maintenant, la situation est, nous avons défini deux variables.
'Linux_best_website', dont la valeur est «www.Tecmint.com »
et, «Linux_website», dont la valeur est «Linux_best_website»
Quel serait le résultat si nous exécutons la commande inférieure à une ligne?
[Protégé par e-mail]: ~ $ printf "% s" "$ linux_website"
Il devrait d'abord remplacer la variable '$ Linux_website', avec valeur "Linux_best_website" et puis "$ Linux_best_website"Est à nouveau une variable dont la valeur est"www.Tecmint.com". Ainsi, la sortie finale de l'exécution de la commande ci-dessous devrait être.
[Protégé par e-mail]: ~ $ printf "% s" "$ linux_website" www.Tecmint.com
Mais malheureusement, ce n'est pas la situation, la sortie que nous obtenons est Linux_best_website.
Raison? Ouais! Bash substituer la valeur de la variable une seule fois. Qu'en est-il des scripts et programmes complexes où nous devons remplacer fréquemment les variables et devoir remplacer la variable plus d'une fois?
Voici la commande 'évaluer'qui effectue un travail supplémentaire de substitution variable plus d'une fois dans un script. Voici un exemple pour rendre l'ensemble qui fonctionne aussi clair que le verre.
Déclarer une variable X, dont la valeur est dix.
[Protégé par e-mail]: ~ / Desktop $ Declare x = 10
Vérifiez la valeur de la variable X, Nous venons de définir.
[Protégé par e-mail]: ~ / Desktop $ echo $ yx x10
Déclarer une variable y, dont la valeur est X.
[Protégé par e-mail]: ~ / Desktop $ Declare y = x
Vérifiez la valeur de la variable y, Nous venons de définir.
[Protégé par e-mail]: ~ / Desktop $ echo $ y x
Voici le problème de FRAPPER substitution variable à une fois, qui n'effectue pas un cycle supplémentaire de substitution variable. Nous utilisons 'évaluer'commande pour résoudre ce problème.
[Protégé par e-mail]: ~ / Desktop $ eval y = $ x
Vérifiez maintenant la valeur de la variable 'y'.
[Protégé par e-mail]: ~ / Desktop $ echo $ y 10
Hourra! Le problème a été résolu et 'évaluer'Command a gagné la course :)
Sans parler de, 'évaluer'La commande est très utile dans les programmes de grands scripts et est un outil très pratique.
La dernière mais pas la moindre partie de ce post est les variables prédéfinies. Non! Ne pas avoir de panique en voyant cette liste. Vous n'avez jamais besoin de vous souvenir de toute la liste avant de commencer à écrire des scripts sauf quelques-uns. Dans le cadre du processus d'apprentissage, nous présentons la liste des variables prédéfinies bash.
Non. | Variable de bash | RÉSULTAT |
1 | AUTO_ RESUME | Processus d'achèvement de la commande pour les travaux arrêtés. |
2 | FRAPPER | Chemin de la coquille. |
3 | Bash_env | Affiche le nom du fichier de profil |
4 | Bash_version | Montre la version de Bash |
5 | Bash_versinfo | Affiche des informations détaillées sur la version. |
6 | Bash_versinfo [0] | Le numéro de version principale (la version). |
7 | Bash_versinfo [1] | Le numéro de version mineure (la version). |
8 | Bash_versinfo [2] | Le niveau du patch. |
9 | Bash_versinfo [3] | La version de construction. |
dix | Bash_versinfo [4] | Le statut de libération (par exemple, Beta1). |
11 | Bash_versinfo [5] | La valeur de MachType . |
12 | Cdpath | Liste des répertoires séparés par Colon. |
13 | COLONNES | Nombre de caractères par ligne sur la sortie standard. |
14 | Euid | ID utilisateur de l'utilisateur actuel. |
15 | Fcedit | L'éditeur de texte par défaut pour la commande fc. |
16 | Funcname | Le nom du plaisir |
17 | GROUPES | Groupes dont l'utilisateur est membre. |
18 | Histfile | Le fichier contenant l'historique des commandes. |
19 | MAISON | Le nom de votre répertoire domestique. |
20 | LIGNES | Nombre de lignes horizontales sur la sortie standard. |
21 | POSTER | Nom d'un fichier pour vérifier le courrier entrant |
22 | Ostype | Nom du système d'exploitation. |
23 | Oldpwd | Le répertoire de travail précédent |
24 | PWD | Le répertoire de travail actuel |
25 | ALÉATOIRE | Imprime un nombre aléatoire |
26 | COQUILLE | La coque préférée à utiliser |
27 | FORMAT DE L'HEURE | Le format pour la commande temporelle. |
28 | Uid | L'ID de l'utilisateur actuel |
Il existe une énorme liste de variables bash prédéfinies. Nous avons essayé de produire une liste des plus fréquemment utilisés.
C'est tout pour le moment. Je reviendrai ici avec un autre article intéressant. Jusque-là, restez à l'écoute et connecté à Tecmint. N'oubliez pas de nous fournir vos précieux commentaires dans la section des commentaires ci-dessous.
- « Approche orientée objet de la programmation et de l'encapsulation Java - Partie 5
- Apprenez les conseils et astuces utiles de l'éditeur «vi / vim» pour améliorer vos compétences - partie 1 »