Comment vérifier si la chaîne n'est ni vide ni espace dans le script shell

Comment vérifier si la chaîne n'est ni vide ni espace dans le script shell
Dans les scripts shell, il est important de vérifier si une chaîne est vide ou ne contient que des espaces avant d'effectuer des opérations dessus. En effet.

Comment vérifier si la chaîne n'est ni vide ni espace dans le script shell

Pour vérifier si une chaîne n'est ni vide ni contient des espaces dans un script shell, vous pouvez utiliser les deux méthodes suivantes:

  • Utilisation des opérateurs -N et -Z
  • En utilisant des expressions régulières

Méthode 1: Utilisation des opérateurs -N et -Z

L'opérateur -N vérifie si la longueur de la chaîne est supérieure à zéro, tandis que l'opérateur -z vérifie si la longueur de la chaîne est nul. Nous pouvons utiliser ces opérateurs en combinaison pour vérifier si une chaîne n'est ni vide ni espace dans le script shell. Voici un exemple:

#!/ bac / bash
String = "Hello Linux"
Si [-n "$ string"] && [-z "$ (echo $ string | tr -d '[: espace:]')"]
alors
Echo "La chaîne est vide ou ne contient que des espaces."
autre
écho "La chaîne n'est ni vide ni ne contient uniquement des espaces."
Fi

Dans cet exemple, nous vérifions d'abord si la longueur de la chaîne est supérieure à zéro en utilisant l'opérateur -N. Ensuite, nous supprimons tous les espaces de la chaîne à l'aide du tr Commandez et vérifiez si la longueur de la chaîne résultante est nulle en utilisant l'opérateur -z. Si les deux conditions sont vraies, nous pouvons conclure que la chaîne n'est ni vide ni ne contient uniquement des espaces.

Méthode 2: Utilisation d'expressions régulières

Nous pouvons également utiliser des expressions régulières pour vérifier si une chaîne n'est ni vide ni espace dans le script shell. Voici un exemple:

#!/ bac / bash
String = "Hello Linux"
Si [["$ String" = ~ ^ [[: espace:]] * $]]
alors
Echo "La chaîne est vide ou ne contient que des espaces."
autre
écho "La chaîne n'est ni vide ni ne contient uniquement des espaces."
Fi

Dans cet exemple, nous utilisons l'opérateur = ~ pour faire correspondre la chaîne à l'expression régulière ^ [[: espace:]] * $, qui correspond à zéro ou plus d'espaces au début et à la fin de la chaîne. Si la chaîne correspond à cette expression régulière, nous pouvons conclure qu'elle est vide ou ne contient que des espaces.

Conclusion

Dans les scripts shell, il est important de vérifier si une chaîne n'est ni vide ni ne contient uniquement des espaces avant d'effectuer des opérations dessus. Nous avons discuté de deux méthodes pour effectuer ce contrôle: utiliser des opérateurs -n / -z et utiliser des expressions régulières. En utilisant ces méthodes, nous pouvons nous assurer que nos scripts de coquille gèrent correctement les chaînes et éviter les erreurs inattendues.