Nier une variable booléenne et l'assigner à une nouvelle variable [dupliquer]
Dec 31 2020
Dans un script Bash, j'aimerais définir une variable booléenne y
pour stocker la valeur négative d'une autre variable booléenne x
. Le script suivant,
#!/bin/bash
x=true
y=$(( ! "${x}" ))
echo "${y}"
définit la variable y
sur 1. Comment puis-je changer y
pour qu'il soit évalué à la false
place?
Réponses
3 axiac Dec 31 2020 at 06:32
Bash n'a pas le concept de valeurs booléennes pour les variables. Les valeurs de ses variables sont toujours des chaînes. Ils peuvent être traités comme des nombres dans certains contextes, mais c'est tout ce qu'il peut faire.
Vous pouvez utiliser 1
et à la 0
place ou vous pouvez les comparer (avec =
ou ==
) sous forme de chaînes avec true
et false
et faire comme si elles étaient booléennes. Le code sera plus lisible mais ce sont toujours des chaînes :-)