Nega una variabile booleana e assegnala a una nuova variabile [duplicato]

Dec 31 2020

In uno script Bash, vorrei definire una variabile booleana yper memorizzare il valore negato di un'altra variabile booleana x. Il seguente script,

#!/bin/bash

x=true
y=$(( ! "${x}" ))
echo "${y}"

imposta la variabile ya 1. Come posso cambiare in ymodo che restituisca falseinvece?

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 1e 0invece o puoi confrontarli (con =o ==) come stringhe con truee falsee fingere che siano booleani. Il codice sarà più leggibile ma sono ancora stringhe :-)