那么使用变量真的比½好吗?这是当然的!想象一个例子,如果
mail
这个指令½
root
收信的邮件
信箱
(mailbox)
档名为
/var/spool/mail/root
直½写入程序代码中。那么当
dmtsai
要使用
mail
时,
½会取得
/var/spool/mail/root
这个文件的内容!
不合理吧!所以你就需要帮
dmtsai
也设计一个
mail
的程序,½
/var/spool/mail/dmtsai
写死到
mail
的程序代码当中!
天吶!那系统要有多少个
mail
令啊?反过来说,使用变量就变的很简单了!因为你不需要更动到程序代码啊!
只要½
MAIL
这个
变量带入不同的内容即可让所有使用者透过
mail
取得自己的信件!当然简单多了!
.
影响
bash
环境操作的变量
某些特定变量会影响到
bash
的环境喔!举例来说,我们前面已经提到过很多次的那个
PATH
变数!
你能不能在任何目录下执行某个指令,与
PATH
这个变量有很大的关系。例如你下达
ls
这个指令
时,系统就是透过
PATH
这个变量里面的内容所记录的路径顺序来搜寻指令的呢!如果在搜寻完
PATH
变量内的路径还找不到
ls
这个指令时,
就会在屏幕上显示『
command not found
』的错误
讯息了。
如果说的学理一点,那么由于在
Linux System
下面,所有的线程都是需要一个执行码,
而就如同上
面提到的,你『
真正以
shell
来跟
Linux
沟通,是在正确的登入
Linux
之后!
』这个时候你就有一
bash
的执行程序,也才可以真正的经由
bash
来跟系统沟通啰!而在½入
shell
之前,也正如同
上面提到的,由于系统需要一些变量来提供他数据的存取
(
或者是一些环境的设定参数值,
例如是
否要显示彩色等等的
)
,所以就有一些所谓的『
环境变量
需要来读入系统中了!这些环境变量例
PATH
HOME
MAIL
SHELL
等等,都是很重要的,
为了区别与自定义变量的不同,环境变
量通常以大写字符来表示呢!
.
½本程序设计
(shell script)
的好帮手
这些还都只是系统默认的变量的目的,如果是个人的设定方面的应用呢:例如你要写一个大型的
script
时,有些数据因为可能由于用户习惯的不同而有差异,比如说路径好了,由于该路径在
script
使用在相当多的地方,如果下次换了一部主机,都要修改
script
里面的所有路径,那么我一定会疯
掉!
这个时候如果使用变量,而½该变量的定义写在最前面,后面相关的路径名称都以变量来取代,
嘿嘿!那么你只要修改一行就等于修改整篇
script
了!方便的很!所以,良好的程序设计师都会善
用变量的定义!
10.2.2
、变量应用于
shell script
的示意图
最后我们就简单的对『
什么是变量
』作个简单定义好了:
变量就是以一组文字或符号等,来取代
一些设定或者是一串保留的数据!
』,
例如:我设定了『
myname
』就是『
VBird
』,所以当你读取
myname