Nous savons qu'il existe de nombreuses variables dans le shell, comme la variable PATH que nous utilisons souvent. Sa fonction est de définir le répertoire du fichier exécutable, afin qu'il n'y ait pas besoin d'utiliser le chemin absolu lors de la saisie de commandes. . De plus, le shell possède de nombreuses autres variables. Aujourd'hui, discutons avec vous des variables shell.
Classification
Nous savons qu'il existe une distinction entre les variables locales et les variables globales en php. Le shell est très similaire à php. sont des variables d'environnement, des variables ordinaires. Les variables d'environnement sont généralement utilisées pour définir l'environnement d'exécution du shell, tandis que les variables ordinaires sont souvent utilisées pour écrire des scripts shell.
La différence entre les variables d'environnement et les variables ordinaires est très similaire aux variables PHP : la différence réside dans le champ d'utilisation. Les variables d'environnement Shell peuvent être utilisées dans le shell actuel et les shells dérivés, tandis que les variables ordinaires ne peuvent être utilisées que dans le shell actuel. in Le shell actuel est utilisé. Les variables d'environnement utilisent généralement des majuscules et les variables ordinaires utilisent généralement des minuscules.
Variables d'environnement
Pour afficher toutes les variables d'environnement actuelles, utilisez la commande env (environnement)
# env XDG_SESSION_ID=38135 HOSTNAME=iz8vb626ci0aehwsivxaydz TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=114.106.186.229 31955 22 QTDIR=/usr/lib64/qt-3.3 ……
De plus, vous peut utiliser la commande set pour l'afficher, mais cette commande listera toutes les variables d'environnement et les variables ordinaires. Généralement, les variables d'environnement sont représentées par des lettres majuscules.
Définition et annulation des variables d'environnement
La manière définie par l'utilisateur de définir les variables d'environnement est la suivante
export 变量名=变量值
Si vous souhaitez annuler les variables d'environnement, vous pouvez utiliser la commande unset pour terminer
unset 变量名
Démontrons ci-dessous :
# export HOBBY=basketball # env | grep HOBBY HOBBY=basketball # unset HOBBY # env | grep HOBBY
Impression et paramétrage des variables
Il existe une commande echo sous Linux. La méthode d'utilisation est la même que PHP. Elle permet d'imprimer un morceau de texte.
# echo hello,world hello,world # echo -e "$PWD\n$PATH" /root /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Définition des règles pour les variables,
变量名=变量内容
Note"=" Il ne peut pas y avoir d'espaces des deux côtés
La variable le nom ne peut être que des lettres et des chiffres, et le premier caractère ne peut pas être un chiffre
Si le contenu de la variable comporte des espaces, vous devez utiliser des guillemets (guillemets simples, guillemets doubles ) pour entourer le contenu de la variable, tel que name=" lebron james". Les variables peuvent être analysées entre guillemets doubles.
S'il y a des caractères spéciaux, vous pouvez les utiliser pour y échapper, comme enter, ', " et d'autres caractères spéciaux
Si vous souhaitez utiliser le résultat de la commande comme Pour le contenu variable, vous pouvez utiliser $(command) ou command ;
Si vous souhaitez développer le contenu variable, vous pouvez utiliser "{$variable } pour accumuler du contenu"
array
Comme PHP, les variables shell ont également des types de tableau. La syntaxe de définition de un tableau est le suivant :
变量名=(val1 val2 ... valn); arr=(paul james durant)
La syntaxe pour imprimer les éléments du tableau est la suivante
echo ${arr[元素下标]} # echo ${arr[0]} paul # echo ${arr[1]} james
Imprimer tous les éléments du tableau
echo ${arr[@]}
Imprimer la longueur du tableau
echo ${#arr[@]}
Imprimer la longueur des éléments du tableau
echo ${#arr[数组下标]}
Imprimer certains éléments du tableau$ {lnmp[@]:n1:n2} n1 représente le début, n2 représente le length
# 打印所有元素 # echo ${lnmp[@]} linux nginx mysql php # echo ${lnmp[@]:0} linux nginx mysql php # 打印从第二个元素开始的所有值 # echo ${lnmp[@]:1} nginx mysql php # 打印第一个值和第二个值 # echo ${lnmp[@]:0:2} linux nginx # 打印第二个值和第三个值 # echo ${lnmp[@]:1:2} nginx mysql
Affectation, remplacement et suppression du tableau
#追加元素 # lnmp[${#lnmp[@]}]=apache # echo ${lnmp[@]} linux nginx mysql php apache # 修改元素 # lnmp[0]=l # echo ${lnmp[@]} linux nginx mysql php # 删除元素 unset lnmp[0] unset lnmp[1] unset lnmp
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!