Niega una variable booleana y asígnala a una nueva variable [duplicar]
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
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 :-)