创建变量并为变量赋值

创建变量并为变量赋值

根据 Bash 手册,如果已为参数分配了值,则该参数将被设置。

  1. 在bash中,有以下两个不同的概念:

    • 存在一个变量
    • 变量已被赋值,即已设置?
  2. unset删除变量或函数。是否unset创建一个变量

    • 变得不存在,或
    • 仍然存在但没有被赋予任何价值?
  3. 是否b=给变量赋值bb现在定了吗?

  4. 变量是否declare会创建变量,即使变量存在?

答案1

如果未设置变量,则该变量不存在。例如,

unset var
echo ${var?"this is not set"}
-bash: var: this is not set

外壳显示一个错误信息如果var没有设置。未echo执行。 (查看 bash 手册页,了解检查变量并将值分配给存在的变量(但可能有值或没有值,或不存在的变量)的方法。)

更常见的情况通常是替换而不会出现错误,并且会像这样处理:

unset var
echo ${var:-This is a new value}
This is a new value

变量存在并具有值。例如,

var=123
echo ${var?"this is not set"}
123

变量存在但为空 ( "")

var=
echo ${var?"this is not set"}

echo 输出 的值var,它什么也没有,后面跟着通常的换行符

赋值就像这样:

var=123
echo $var
123

声明用于为变量分配属性(查看 bash 手册页typesetdeclare下面的**shell builtin commands**以了解详细信息。

相关内容