1

在 Bash 脚本中,我想定义一个布尔变量y来存储另一个布尔变量的否定值x。以下脚本,

#!/bin/bash

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

将变量设置y为 1。我该如何更改y,以便它评估为false

4

1 回答 1

4

Bash 没有变量布尔值的概念。其变量的值始终是字符串。在某些情况下,它们可以作为数字处理,但仅此而已。

您可以使用1and0代替,或者您可以将它们(与===)作为字符串与trueand进行比较,false并假装它们是布尔值。代码将更具可读性,但它们仍然是字符串:-)

于 2020-12-30T23:32:34.677 回答