3.1. 变量

我不会尝试在本 HOWTO 的一个章节中解释 Bash 脚本的所有细节,而只会解释与提示符相关的细节。 如果你想了解更多关于 shell 编程和 Bash 的信息,我强烈推荐 Cameron Newham 和 Bill Rosenblatt 撰写的Learning the Bash Shell(O'Reilly,1998)。 奇怪的是,我的这本书已经磨损得很厉害了。 再次声明,我假设你已经对 Bash 有相当的了解。 如果你只是在寻找基础知识,你可以跳过本节,但请记住它,并在你进一步深入时再参考它。

Bash 中的变量的赋值方式与任何编程语言中的赋值方式非常相似

testvar=5
foo=zen
bar="bash prompt"

只有当空格(或特殊字符,稍后讨论)是变量的一部分时,赋值才需要引号。

变量的引用方式与赋值方式略有不同

> echo $testvar
5
> echo $foo
zen
> echo ${bar}
bash prompt
> echo $NotAssigned

> 

变量可以被引用为$bar${bar}。 当不清楚正在引用什么时,花括号很有用:例如,如果我写$barley我的意思是${bar}ley${barley}? 另请注意,引用一个尚未赋值的值不会产生错误,而是返回空值。