Nega una variabile booleana e assegnala a una nuova variabile [duplicato]
Dec 31 2020
In uno script Bash, vorrei definire una variabile booleana y
per memorizzare il valore negato di un'altra variabile booleana x
. Il seguente script,
#!/bin/bash
x=true
y=$(( ! "${x}" ))
echo "${y}"
imposta la variabile y
a 1. Come posso cambiare in y
modo che restituisca false
invece?
Risposte
3 axiac Dec 31 2020 at 06:32
Bash non ha il concetto di valori booleani per le variabili. I valori delle sue variabili sono sempre stringhe. Possono essere gestiti come numeri in alcuni contesti, ma è tutto ciò che può fare.
Puoi usare 1
e 0
invece o puoi confrontarli (con =
o ==
) come stringhe con true
e false
e fingere che siano booleani. Il codice sarà più leggibile ma sono ancora stringhe :-)