La variable est une chaîne, et nous attribuons une valeur. La valeur assignée peut être un nombre, texte, nom de fichier, appareil ou tout autre type de données.
Une variable est un pointeur qui n’excède pas les données réelles. Shell, vous pouvez créer, assigner et suppriment des variables. Nom de la variable :
Le nom de la variable peut contenir seulement lettres (de A à Z) ou de A à Z, des chiffres (0〜9) ou traits de soulignement (_).
Comme d’habitude, variables shell UNIX auront leur propre nom en lettres majuscules.
L’exemple suivant est un nom de variable valide :
_ALI
TOKEN_A
VAR_1
VAR_2
Voici un exemple d’un nom de variable non valide :
2_VAR
-VARIABLE
VAR1-VAR2
VAR_A!
Vous ne pouvez pas utiliser les autres personnages, tels que. , * Ou, ces caractères ont une signification particulière. Définir des variables :
Les variables sont définies comme suit :
variable_name=variable_value
Par exemple :
NAME="Zara Ali"
Le nom de la variable et la valeur assignée « Zara Ali » tel que défini dans l’exemple ci-dessus. Variables de ce type sont appelées variables scalaires. Une variable scalaire peut contenir qu’une seule valeur à la fois.
La coquille peut stocker n’importe quelle valeur que vous voulez dans une variable. Par exemple :
VAR1="Zara Ali"
VAR2=100
Valeurs d’accès :
Afin d’accéder à la valeur stockée dans une variable, son nom est précédé du signe dollar ($) :
Par exemple, le script suivant va accéder à la valeur définie par le nom de la variable et l’imprimer dans la sortie standard :
#!/bin/sh
NAME="Zara Ali"
echo $NAME
Il en résulte les valeurs suivantes :
Zara Ali
Lecture seule variables :
Shell fournit une commande de lecture seule qui est marquée comme une variable en lecture seule. La dernière variable est marquée en lecture seule et sa valeur ne peut pas être modifiée.
Par exemple, le script suivant donnera une erreur invite alors qu’ils tentaient de changer la valeur de NAME :
#!/bin/sh
NAME="Zara Ali"
readonly NAME
NAME="Qadiri"
Ce résultat produira ce qui suit :
/bin/sh: NAME: This variable is read only.
Pour annuler une variable de configuration :
Une variable qui est déconnectée ou supprimée raconte la coquille pour supprimer liste la variable de variables qui sont l’objet d’un suivi. Une fois que vous annulez la variable settings, vous ne peut pas accéder à la valeur stockée dans la variable.
Voici la syntaxe permettant de définir une variable à l’aide de la commande unset :
unset variable_name
La commande ci-dessus annule la valeur variable définie. Voici un exemple simple :
#!/bin/sh
NAME="Zara Ali"
unset NAME
echo $NAME
L’exemple ci-dessus ne va pas imprimer quoi que ce soit. Les variables qui ne peuvent être redéfinis à l’aide de la commande unset ne sont pas marqués en lecture seule. Type de variable :
Lorsqu’un shell est exécuté, il y a trois principaux types de variables :
· Variable locale : une variable locale est une coquille qui est faite par une variable dans l’instance actuelle. Ce n’est pas le programme a commencé par le shell. Fixé à l’invite de commande.
· Variable d’environnement : une variable d’environnement est une coquille qui est faite par une variable qui est un processus enfant. Certains programmes ont besoin d’avoir des variables d’environnement normal. Généralement, un script shell définit qu’uniquement les programmes qui sont requises pour les variables d’environnement ne s’exécutent pas.
· Variable de Shell : la variable shell est une variable spéciale, définie par le shell et est aussi un besoin normal de la coquille. Certaines variables d’environnement variables synthétiques, tandis que d’autres variables locales.
Tutoriels précédents ont dit sur l’utilisation de certains caractères non alphanumériques dans les noms de variables. C’est parce que les noms des variables Unix spéciaux sont utilisés dans ces personnages. Ces variables sont réservés pour des fonctions spécifiques.
Par exemple, le caractère $ représente le numéro d’ID de processus, ou PID, dans le shell courant :
$echo $$
La commande ci-dessus est écrits dans le PID dans le shell courant :
29949
Le tableau ci-dessous présente quelques variables spéciales que vous pouvez utiliser dans votre script shell :
Variable
Décrire
0 $
Le nom de fichier du script en cours.
$N
Ces variables correspondent aux arguments avec lesquels un script est invoqué. N Voici un s décimal positif correspondant à la position d’un argument (l’argument premier est $ MSP est $ et trop de suite).
$#
Les arguments fournis à un script.
$*
Tous les arguments double cotées. Si un script reçoit et arguments, $* est équivalent à $ $.
$@
Tous les arguments est individuellement guillemets. Si un script reçoit et arguments, $@ est l’équivalent de $ $.
$?
L’état de la sortie de la dernière commande exécutée.
$$
Le processus est le le shell courant. Pour les scripts shell, c’est l’ID de processus en vertu duquel et s’exécute.
$!
Le processus est le la dernière commande de fond. Arguments de ligne de commande :
Le paramètre de ligne de commande de $ $ $, $,... $ est le paramètre de position, avec 0 de dollars pointant sur la commande réelle, programme, script shell, fonction et $ $ $, $,... $ comme un paramètre de la commande.
Le script suivant utilise une variété de variables spéciales liées à la ligne de commande :
#!/bin/sh
echo "File Name: $0"
echo "First Parameter : $1"
echo "First Parameter : $2"
echo "Quoted Values: $@"
echo "Quoted Values: $*"
echo "Total Number of Parameters : $#"
Ce qui suit est un exemple exécuté au-dessus du script :
$./test.sh Zara Ali
File Name : ./test.sh
First Parameter : Zara
Second Parameter : Ali
Quoted Values: Zara Ali
Quoted Values: Zara Ali
Total Number of Parameters : 2
Des paramètres spéciaux $ * et $ @:
Il y a des paramètres spéciaux qui permettent d’accéder à tous les arguments de ligne de commande à la fois. Les deux $ * et $ @ sera la même action, sauf s’ils sont placés entre guillemets « ».
Ces deux paramètres spécifient les arguments de ligne de commande, mais le « $ * » paramètre spécial exige la liste entière comme un paramètre avec des espaces et « $ @ » des paramètres spéciaux qui exigent la liste entière d’être divisé en différents paramètres.
Nous pouvons écrire les arguments de ligne de commande ci-dessous pour traiter un script shell avec un nombre inconnu de * paramètres spéciaux @ $ :
#!/bin/sh
for TOKEN in $*
do
echo $TOKEN
done
Il y a un exemple pour exécuter le script ci-dessus :
$./test.sh Zara Ali 10 Years Old
Zara
Ali
10
Years
Old
Note : le faire ici... Fait, c’est une boucle qui nous couvrirons dans un futur tutoriel. État de la sortie :
$? Une variable représente l’état de la sortie de la commande précédente.
L’état de sortie est une valeur numérique qui est terminée après que chaque commande est retournée. En règle générale, la plupart des commandes retournent si ils ne pas correctement quittez le statut 0 si elles réussissent.
Certaines commandes retournent vers d’autres États de sortie spécial. Par exemple, certaines commandes de faire la distinction entre les erreurs de type, et retourner plusieurs valeurs de sortie dépend de l’échec d’un type particulier.
Commandes avec succès comme dans l’exemple suivant :
$./test.sh Zara Ali
File Name : ./test.sh
First Parameter : Zara
Second Parameter : Ali
Quoted Values: Zara Ali
Quoted Values: Zara Ali
Total Number of Parameters : 2
$echo $?
0
$
Variables Shell ne suffisent pas à maintenir une valeur unique. Variables de ce type sont appelées variables scalaires.
Shell prend en charge différents types de variables appelées variables de tableau, qui peuvent contenir plusieurs valeurs en même temps. Tableau qui permet aux groupes de variables devant être regroupés. Au lieu de créer un nouveau nom pour chaque variable que vous avez besoin, vous pouvez utiliser un tableau pour stocker les variables pour toutes les autres variables.
Toutes les règles de nommage qui traitent des variables shell s’appliquent aux tableau d’affectation de noms.
De : http://www.yiibai.com/shell/what_is_shell.html#