Linux中的Bash脚本语言支持对变量的操作。但是,如果您使用过其他流行的编程语言,那么在Bash中使用变量可能非常容易出错。因为它的语法与其他语法不同(对某些开发人员来说甚至有点奇怪)。本文将根据我的经验给大家5个友情提示。看完之后,可以帮助你避免不必要的错误。1.等号两边不要有空格对于很多语言,比如Python,在等号两边加空格是一个很好的做法,因为这样可以提高代码的可读性。但是在Bash中,你不应该在定义变量时添加额外的空格。如果我这样声明一个变量名:name="Yang"就会出现错误:-bash:name:commandnotfound如上所示,Bash将name视为命令而不是变量,因为我添加了不必要的空格。因此,变量的正确定义方式如下:name="Yang"2.正确定义数组在Bash中定义数组并不难。我们只需要用一对括号将所有元素括起来,如下例所示:names=("Yang""Elon""Bill")俗话说,“细节决定成败”。不久前,我在编写Bash脚本时犯了一个严重的错误。我习惯性地使用逗号(不是空格)来分隔数组中的每个元素。names=("Yang","Elon","Bill")Bash不将逗号视为分隔符,names数组中只有一个元素Yang,Elon,Bill而不是预期的三个。3.正确选择引号当我们在Bash中声明一个变量时,使用引号有3种选择:无引号、单引号、双引号默认情况下,Bash中的每个值都是一个字符串。因此,如果不需要空格,我们不需要使用任何引号。(同样,它与其他语言有点不同,不能定义没有引号的字符串)当你需要使用引号时,要注意单引号和双引号的区别。例如,让我们声明3个变量,如下所示。那么,truth1和truth2有什么区别呢?如果你打印它们,你会发现truth1is${name}是惊人的。而truth2isYangisamazing..总之,一对单引号内的字符串总是被解释为它自己。4.避免在命令中使用反引号在Bash中,我们可以将命令的结果保存到变量中。有两种可能的方法:variable=`command`variable=$(command)例如,要保存ls命令的结果,我们可以这样写:file_list=`ls`或file_list=$(ls)这里的最佳实践始终是使用第二种方法,尤其是在编写较长的脚本时。因为反引号和单引号看起来很相似,所以有时您可能会混淆它们。5、避免使用特殊的名称有些名称在Linux中是预定义为环境变量的,例如USER、HOME、PATH等,我们可以使用printenv命令列出它们。显然,我们不应该使用与环境变量相同的名称来声明我们的变量。好消息是Linux中所有的环境变量都是用大写字母写的,所以我们可以用小写字母自定义变量来区分环境变量。这是一个好习惯。
