📅  最后修改于: 2023-12-03 14:50:51.558000             🧑  作者: Mango
在 Bash 中,我们可以设置默认变量值,使得当该变量没有被赋值时,可以使用预先设定好的默认值。
下面是设置变量默认值的语法:
${变量名:-默认值}
或者,你也可以使用下面的格式:
${变量名:=默认值}
这两种语法都表示,如果变量名没有被设定,则使用默认值作为变量的值。
比如下面这个例子:
#!/bin/bash
echo "请输入你的名字:"
read name
echo "你的名字是:${name:-陌生人}"
运行上面这个脚本后,如果你没有输入名字,则会显示默认的“陌生人”。
比如:
请输入你的名字:
你的名字是:陌生人
而如果你输入了名字,则会显示你输入的名字。
比如:
请输入你的名字:John
你的名字是:John
需要注意的是,这种方法只能设置默认值,而不能设置变量不存在时的默认值。比如下面这样的语法是无效的:
${不存在的变量:-默认值}
因为不存在的变量没有定义,所以也就没有默认值可言。
另外,如果你使用了第二种语法,也就是${变量名:=默认值}
,如果变量不存在,则该语句会自动定义该变量,其值为默认值。
所以在使用这种语法时,需要注意区分变量是否已经定义。