Maison > Tutoriel système > Linux > le corps du texte

5 pièges courants concernant les variables dans Linux Bash Shell

WBOY
Libérer: 2024-02-12 22:09:13
avant
1039 Les gens l'ont consulté

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).

关于 Linux Bash Shell 中变量的 5 个易错点

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.

0. Il ne peut pas y avoir d'espaces des deux côtés du signe égal

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"
Copier après la connexion

Il y aura une erreur ici :

-bash: name: command not found
Copier après la connexion

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"
Copier après la connexion

1. Définissez correctement le tableau

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")
Copier après la connexion

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")
Copier après la connexion

Bash ne traite pas les virgules comme séparateurs, et il y en a names 数组中只有一个元素 Yang,Elon,Bill au lieu des trois attendus.

2.Choisissez correctement les guillemets

Lorsque nous déclarons une variable dans Bash, il existe 3 options pour utiliser les guillemets :

  • Pas de citations
  • Utilisez des guillemets simples
  • Utilisez des guillemets doubles

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, truth1truth2 Quelle est la différence ?

关于 Linux Bash Shell 中变量的 5 个易错点

如果你打印它们,你会看到 truth1${name} is amazing.。而 truth2Yang is amazing.

总而言之,一对单引号内的字符串将始终被解释为它的本身。

3. 避免在命令中使用反引号

在 Bash 中,我们可以将命令的结果保存到变量中。有两种可能的方法来做到这一点:

  • variable=command“
  • variable=$(command)

例如,要保存 ls 命令的结果,我们可以这样写:

file_list=`ls`
Copier après la connexion

或者

file_list=$(ls)
Copier après la connexion

但是,这里的最佳实践始终是使用第二种方法,尤其是在编写较长的脚本时。因为反引号单引号看起来很相似,有时你可能会混淆它们。

4. 避免使用特殊名称

一些名称在 Linux 中被预定义为环境变量,如 USERHOMEPATH 等。我们可以使用 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!

source:lxlinux.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!