范例一:
设
定一
变
量
name
,且
内
容
为
VBird
[dmtsai@study ~]$
12name=VBird
bash: 12name=VBird: command not found...
<==
屏幕
会显
示
错误
!因
为
不能以
数
字
开头
!
[dmtsai@study ~]$
name = VBird
<==
还
是
错误
!因
为
有空白!
[dmtsai@study ~]$
name=VBird
<==OK
的啦!
范例二:承上
题
,若
变
量
内
容
为
VBird's name
呢,就是
变
量
内
容含有特殊符
号时
:
[dmtsai@study ~]$
name=VBird's name
#
单
引
号
与
双
引
号
必
须
要成
对
,在上面的
设
定中
½
有一
个单
引
号
,因此
当
你按下
enter
后,
#
你
还
可以
继续输
入
变
量
内
容。
这
与我
们
所需要的功能不同,失
败
啦!
#
记
得,失
败
后要复原
请
按下
[ctrl]
-
c
½
束!
[dmtsai@study ~]$
name="VBird's name"
<==OK
的啦!
#
指令是由左
边
向右找→,先遇到的引
号
先有用,因此如上所示,
单
引
号变
成一般字符!
[dmtsai@study ~]$
name='VBird's name'
<==
失
败
的啦!
#
因
为
前
两个单
引
号
已成
对
,后面就多了一
个
不成
对
的
单
引
号
了!因此也就失
败
了!
[dmtsai@study ~]$
name=VBird
\
's
\
name
<==OK
的啦!
#
利用反斜杠
(
\
)
跳
脱
特殊字符,例如
单
引
号
与空格
键
,
这
也是
OK
的啦!
范例三:我要在
PATH
这个变
量
当
中『累加』
:/home/dmtsai/bin
这个
目
录
[dmtsai@study ~]$
PATH=$PATH:/home/dmtsai/bin
[dmtsai@study ~]$
PATH="$PATH":/home/dmtsai/bin
[dmtsai@study ~]$
PATH=${PATH}:/home/dmtsai/bin
#
上面
这
三种格式在
PATH
里
头
的
设
定都是
OK
的!但是底下的例子就不
见
得
啰
!
范例四:承范例三,我要
½
name
的
内
容多出
"yes"
呢?
[dmtsai@study ~]$
name=$nameyes
#
知道了吧?如果
没
有
双
引
号
,那么
变
量成了啥?
name
的
内
容是
$nameyes
这个变
量!
#
呵呵!我
们
可
没
有
设
定
过
nameyes
这个变
量吶!所以,
应该
是底下
这样
才
对
!
[dmtsai@study ~]$
name="$name"yes
[dmtsai@study ~]$
name=${name}yes
<==
以此例
½
佳!
范例五:如何
让
我
刚刚设
定的
name=VBird
可以用在下
个
shell
的程序?
[dmtsai@study ~]$
name=VBird
[dmtsai@study ~]$
bash
<==
½
入到所
谓
的子程序
[dmtsai@study ~]$
echo $name
<==
子程序:再次的
echo
一下;
<==
嘿嘿!并
没
有
刚刚设
定的
内
容喔!
[dmtsai@study ~]$
exit
<==
子程序:离
开这个
子程序
[dmtsai@study ~]$
export name
[dmtsai@study ~]$
bash
<==
½
入到所
谓
的子程序
[dmtsai@study ~]$
echo $name
<==
子程序:在此
执
行!
VBird
<==
看吧!出
现设
定值了!
[dmtsai@study ~]$
exit
<==
子程序:离
开这个
子程序