Niega una variable booleana y asígnala a una nueva variable [duplicar]
Dec 31 2020
En un script de Bash, me gustaría definir una variable booleana y
para almacenar el valor negado de otra variable booleana x
. El siguiente guión,
#!/bin/bash
x=true
y=$(( ! "${x}" ))
echo "${y}"
establece la variable y
en 1. ¿Cómo puedo cambiar y
para que se evalúe en su false
lugar?
Respuestas
3 axiac Dec 31 2020 at 06:32
Bash no tiene el concepto de valores booleanos para variables. Los valores de sus variables son siempre cadenas. Pueden manejarse como números en algunos contextos, pero eso es todo lo que pueden hacer.
Puede usar 1
y en su 0
lugar o puede compararlos (con =
o ==
) como cadenas con true
y false
y pretender que son booleanos. El código será más legible pero siguen siendo cadenas :-)