Отменить логическую переменную и присвоить ее новой переменной [дубликат]
Dec 31 2020
В сценарии Bash я хотел бы определить логическую переменную y
для хранения инвертированного значения другой логической переменной x
. Следующий сценарий,
#!/bin/bash
x=true
y=$(( ! "${x}" ))
echo "${y}"
устанавливает переменную y
в 1. Как я могу изменить ее y
так, чтобы false
вместо этого она оценивалась ?
Ответы
3 axiac Dec 31 2020 at 06:32
В Bash нет концепции логических значений для переменных. Значения его переменных всегда являются строками. В некоторых контекстах они могут обрабатываться как числа, но это все, что он может.
Вместо этого можно использовать 1
и 0
или сравнить их (с =
или ==
) как строки с true
и false
и притвориться, что они логические. Код будет более читабельным, но это все равно строки :-)