在Unix系统中使用变量的技巧(1)


在任何一种开发语言中,变量都是不能缺少的一项内容。在Unix操作系统中,也有变量一说。系统工程师在编写脚本程序或者书写命令时,都可以使用变量。笔者现在就跟大家谈谈在Unix操作系统中如何使用变量,在什么情况下使用变量等问题。

一、变量的定义注意事项。

在Unix操作系统中定义变量比其他语言要简单的多。因为其他语言使用变量的话要预先声明,而在Unix操作系统中则不用。而且在Unix操作系统中定义变量时也不用注明其采用的是什么数据类型。系统会自动根据输入的内容来进行判断。所以使用起来非常的方便。如现在用户需要定义一个整数型的变量,只需要采用如下的格式即可:int1=1981。注意,此时虽然给变量赋值的是一个整数,但是其是以字符串的形式存放。也就是说,当目前为止,所有的Unix系统变量都是字符型的变量。或许这种情况在以后版本的操作系统中会改变。但是到目前为止,所有的shell变量都是字符型变量。这是系统工程师在使用变量的时候,必须要牢记的一个原则。

不过在定义变量的时候,笔者建议各位读者要遵守如下的规范。

一是要注意变量的大小写。虽然Unix系统中对于变量的大小写没有特殊的要求,无论大写还是小写都是可行的。但是在业内确有一套不成文的规则。即操作系统和软件开发工具包使用的变量名都是采用大写的英文字母表示。而在用户的脚本程序中使用的变量最好都用小写字符表示。这主要是从变量的阅读性上考虑的。将用户自定义的变量同系统变量区分开来。如操作系统中的PATH等环节变量名字都是小写的。这虽然不是一个强制性的规范,但是笔者希望各位读者还是能够遵守这个规范。

二是在变量进行初始化的时候,还有一个格式的要求。如在C shell中,既有一个比较严格的要求。如上面这个定义中,=左右两边都没有采用空格。如果用户想在左边采用一个空格的话,那么在等号右边也必须使用一个空格。即左右两边都必须对称。否则的话,系统将无法识别这个变量。有些工程师可能有其他语言编程的经验,他们在这方面没有这么苛刻的要求。但是如果在Unix操作系统中采用变量的话,这个规则必须要遵守,即变量赋值时等号两侧要么一个空格都没有,要么都必须加上空格。

三是要注意在Unix操作系统中没有常量的概念,而只有只读变量的概念。其实两个道理是相通的,只是名字叫法不同而已。如果系统工程师需要定义一个只读的变量,那么只需要在变量前面加入一个关键字readonly即可。加入这个关键字之后,用户就可以防止这个变量被修改。注意此时连创建这个变量的用户都无法修改变量。其实,此时这个变量已经变为了常量。除非用户先利用unset关键字显将这个只读变量删除,然后再重新建立。否则的话,只读变量建立后,不能够再进行修改,包括变量的主人在内。

第四在Unix操作系统中,变量的引用对于其他语言也有所不同。无论是系统变量,还是用户变量,在引用变量时都需要在变量名前面加入一个特殊的元字符即$。只有加上这个元字符后,系统才会认为这是一个变量。如需要将上面建立的这个变量的值赋值给另外一个变量,必须使用如下的格式:int2=$int1。当利用echo命令来显示用户变量与环境变量时,也必须采用这个格式,如echo $PATH等等。


相关内容