Comprendre et écrire des «variables linux» dans les scripts shell - Partie 10

Comprendre et écrire des «variables linux» dans les scripts shell - Partie 10

Le langage de script de shell Linux a toujours été un sujet brûlant et sera toujours dans le futur. Le langage de script shell est magique et il est si facile de faire un programme en langage de script comme dans toute autre langue. Cependant, il a besoin d'une connaissance approfondie de ce que nous faisons et du résultat attendu.

Comprendre les variables dans les scripts de coquille

Tous les articles de script de coquille que nous avons écrits pour nos lecteurs sont très appréciés, y compris le dernier «une idée des variables Linux». Nous étendons le dernier article à un nouveau niveau.

Attributs variables

Chaque variable dans l'environnement Linux a certaines options, et celles-ci sont appelées «attributs». Ces options ou attributs peuvent être tournés Sur et Désactivé, si nécessaire en fonction de la situation en utilisant une commande «déclarer».

Un exemple d'attribut variable consiste à utiliser un commutateur dire '-je'Ce qui allumera l'attribut entier pour la variable correspondante. Même si une valeur non numerique est passée pour changer-je"Il ne lancera pas de message d'erreur et de sortie"0'En tant qu'interprétation entière. Ici, il devient plus clair à partir de l'exemple ci-dessous.

Déclarer un entier variable, Bill = 121

[Protégé par e-mail]: ~ $ Declare -I Bill = 121

Imprimer la valeur de la facture variable.

[Protégé par e-mail]: ~ $ printf "% d \ n" "$ bill" 121

Que la valeur variable soit une chaîne. Le projet de loi variable est déjà déclaré, pas besoin de le déclarer deuxième. Changez simplement la valeur de la variable comme.

[Protégé par e-mail]: ~ $ bill = tecmint

Maintenant, à nouveau imprimer la valeur de la facture variable.

[Protégé par e-mail]: ~ $ printf "% d \ n" "$ bill" 0

Avis '0'À la place du message d'erreur.

Maintenant, la question est de savoir comment connaître les attributs des variables déjà déclarées?
[Protégé par e-mail]: ~ $ Declare -P Bill Declare -i Bill = "121"

Voici un -p (signifie Imprimer) l'interrupteur vient au sauvetage.

Encore une fois, que dois-je faire pour éteindre les attributs d'une variable?

Afin de changer Désactivé Les attributs d'une variable ce dont nous avons besoin + (plus) signe juste avant l'interrupteur. Ici, il est plus clair à partir de l'exemple ci-dessous.

Changer Désactivé l'attribut entier pour la variable ci-dessus.

[Protégé par e-mail]: ~ $ Declare + i facture

Vérifiez la valeur de la variable.

[Protégé par e-mail]: ~ $ printf "% d \ n" "$ bill" bash: printf: bill: non valide numéro 0

Imprimez maintenant la valeur de la variable à l'aide de la chaîne de commutation.

[Protégé par e-mail]: ~ $ printf "% s \ n" "$ Bill" Tecmint

Ici, dans l'exemple ci-dessus, Bash n'a pas pu juger la valeur non nuclérique comme erreur, cependant printf est interprété, ce qui pourrait être un nombre et ce qui ne pourrait pas être.

Variables en lecture seule

Vous avez peut-être entendu lire uniquement la mémoire (ROM), mais quelle est la variable en lecture seule? A-t-il une similitude avec Rom?

Des variables bien en lecture seule comme la mémoire en lecture seule sont quelque chose dont la valeur ne peut pas être modifiée une fois qu'il est attribué. Par conséquent, il s'appelle en lecture seule. Vous ne pouvez pas écrire, modifier ou modifier une nouvelle valeur pour cette variable. Voici une illustration en utilisant l'exemple.

Décalre une lecture uniquement (-r) Nom de la variable, dont la valeur est «Tecmint.com ».

[Protégé par e-mail]: ~ $ Declare -r name = "Tecmint.com "

Printf La valeur de la variable déclaré ci-dessus.

[Protégé par e-mail]: ~ $ printf "% s \ n" "$ name" tecmint.com

Essayez de modifier la valeur de la variable.

[Protégé par e-mail]: ~ $ Declare -r name = "AVISHEK" BASH: Declare: Nom: Variable en lecture

Comme indiqué ci-dessus, les attributs d'une variable en lecture seule peuvent être modifiés en utilisant '+' signe.

Exportation de variables dans Linux

Toutes les variables de shell déclaré dans un script shell sont disponibles jusqu'à ce que le script s'exécute. En dehors du script, la variable du script n'existe pas. Le processus de mise à disposition des variables en dehors du script est appelé les variables d'exportation.

Une variable peut être exportée à l'extérieur de la coque à l'aide de l'interrupteur déclarer -x (Export), qui reconnaît le shell ce que vous vouliez exporter. Un commutateur d'exportation de déclaration peut être utilisé comme.

[Protégé par e-mail]: ~ $ Declare -x variable = ”constante_value”

Toutes les modifications apportées à la variable pendant l'exécution du script sont perdues lorsque la variable est exportée en dehors du script. La variable d'exportation est très importante dans les scripts shell.

Nous voulons avoir une variable qui devrait être en lecture seule et disponible en dehors du script, nous devons utiliser Switch -r et changer -X en même temps.

[Protégé par e-mail]: ~ $ Declare -rx variable = ”constant_value”

Variables d'environnement

Les variables partagées entre le programme et le programme qui les exécute. Les variables d'environnement peuvent être exportées mais les attributs ne peuvent pas lui être affectés.

Comprendre pratiquement la théorie ci-dessus. Ici, nous avons deux scripts 0.shot et 1.shot.

# 0.sh #!/ bin / bash Declare -rx name = tecmint bash 0.sh exit 0

Et le deuxième script est.

# 1.sh #!/ bin / bash printf "% s \ n" "$ name" name = tecmint.com printf "% s \ n" "$ name" exit 0

Ici, ce qui se passe, une variable (nom) est déclarée comme lecture et exportée et immédiatement après ce deuxième script.

Le deuxième script vient d'imprimer la variable du premier script qui a été exporté dans le premier printf déclaration. Dans la deuxième instruction printf, il affiche la nouvelle valeur attribuée à la variable 'nom'.

Pas besoin de s'inquiéter, que la variable était en lecture seule, comment peut-elle être réaffectée. Ne vous souvenez-vous pas que «toutes les modifications apportées à la variable pendant l'exécution du script sont perdues lorsque la variable est exportée en dehors du script."

Les références

Le déclarer La commande permet à tous les commutateurs ci-dessous avec leur combinaison.

  1. -un : Déclare un tableau.
  2. -F : Afficher la fonction et la définition.
  3. -F : Nom de la fonction d'affichage.
  4. -r : Déclarer la variable en lecture seule.
  5. -X : Déclarer la variable comme exportable.
  6. -je : Déclarer la variable comme entier.

C'est tout pour le moment. Dans le tout prochain article, nous discuterons des moyens de remplacer les variables en utilisant 'évaluer`` Commande et les variables déjà définies dans Bash avant de fermer ce sujet. J'espère que vous appréciez votre voyage vers une profondeur de script. Jusque-là, restez à l'écoute et connecté à Tecmint.com.