Maison >Tutoriel système >Linux >5 pièges courants concernant les variables dans Linux Bash Shell
Le langage de script Bash prend en charge les variables d'exploitation sous Linux. Cependant, si vous avez de l'expérience en développement dans d'autres langages de programmation populaires, l'utilisation de Bash pour gérer les variables peut être sujette aux erreurs. C'est parce que sa syntaxe est différente des autres langages (et même bizarre pour certains développeurs).
Cet article vous fournira 5 conseils pratiques basés sur mon expérience. Après l’avoir lu, cela peut vous aider à éviter des erreurs inutiles.
Pour de nombreux langages, comme Python, l'ajout d'espaces autour du signe égal est une bonne pratique car cela améliore la lisibilité du code.
Mais dans Bash, vous ne devez pas ajouter d'espaces supplémentaires lors de la définition des variables.
Par exemple, si je déclare une variable nommée name
comme ceci :
name = "Yang"
Il y aura une erreur ici :
-bash: name: command not found
Comme vous pouvez le voir ci-dessus, Bash traite name
comme une commande plutôt que comme une variable car j'ai ajouté des espaces inutiles.
La manière correcte de définir une variable est donc la suivante :
name="Yang"
Définir un tableau dans Bash n’est pas difficile. Il suffit d'utiliser une paire de crochets pour inclure tous les éléments, comme le montre l'exemple suivant :
names=("Yang" "Elon" "Bill")
Comme le dit le proverbe : « Les détails déterminent le succès ou l'échec ». J'ai déjà commis une erreur critique en écrivant un script Bash. J'utilise habituellement des virgules (pas des espaces) pour séparer chaque élément du tableau.
names=("Yang","Elon","Bill")
Bash ne traite pas les virgules comme séparateurs, et il y en a names
数组中只有一个元素 Yang,Elon,Bill
au lieu des trois attendus.
Lorsque nous déclarons une variable dans Bash, il existe 3 options pour utiliser les guillemets :
Par défaut, chaque valeur dans Bash est une chaîne. Ainsi, si aucun espace n’est requis, nous n’avons pas besoin d’utiliser de guillemets. (Encore une fois, c'est un peu différent des autres langages où on ne peut pas définir une chaîne sans guillemets)
Lorsque vous devez utiliser des guillemets, veuillez noter la différence entre les guillemets simples et les guillemets doubles.
Par exemple, déclarons 3 variables comme indiqué ci-dessous. Alors, truth1
和 truth2
Quelle est la différence ?
如果你打印它们,你会看到 truth1
是 ${name} is amazing.
。而 truth2
是 Yang is amazing.
。
总而言之,一对单引号内的字符串将始终被解释为它的本身。
在 Bash 中,我们可以将命令的结果保存到变量中。有两种可能的方法来做到这一点:
variable=
command“variable=$(command)
例如,要保存 ls
命令的结果,我们可以这样写:
file_list=`ls`
或者
file_list=$(ls)
但是,这里的最佳实践始终是使用第二种方法,尤其是在编写较长的脚本时。因为反引号和单引号看起来很相似,有时你可能会混淆它们。
一些名称在 Linux 中被预定义为环境变量,如 USER
、HOME
、PATH
等。我们可以使用 printenv
命令列出它们。
显然,我们不应该用与环境变量相同的名称来声明我们的变量。
好消息是 Linux 中所有的环境变量都是用大写字母写的,所以我们可以用小写字母来自定义变量,以区别环境变量。这是一个好习惯。
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!