Negacja zmiennej boolowskiej i przypisanie jej do nowej zmiennej [duplikat]
Dec 31 2020
W skrypcie Bash chciałbym zdefiniować zmienną boolowską y
do przechowywania zanegowanej wartości innej zmiennej boolowskiej x
. Poniższy skrypt,
#!/bin/bash
x=true
y=$(( ! "${x}" ))
echo "${y}"
ustawia zmienną y
na 1. Jak mogę zmienić y
, aby false
zamiast tego oceniała ?
Odpowiedzi
3 axiac Dec 31 2020 at 06:32
Bash nie ma pojęcia wartości logicznych dla zmiennych. Wartości jego zmiennych są zawsze łańcuchami. W niektórych kontekstach można je traktować jako liczby, ale to wszystko, co może zrobić.
Możesz użyć 1
i 0
zamiast tego lub możesz je porównać (z =
lub ==
) jako ciągi z true
i false
i udawać, że są logiczne. Kod będzie bardziej czytelny, ale nadal są to ciągi :-)