|
发表于 2005-4-7 12:34:27
|
显示全部楼层
你用过后感觉有什么区别吗?
其实本质没有什么区别
TEXT1="abc123"
TEXT2=abc123
比如
- zhyfly@zhyfly:~$ a="abc123"
- zhyfly@zhyfly:~$ b="abc12"3
- zhyfly@zhyfly:~$ echo $a $b
- abc123 abc123
- zhyfly@zhyfly:~$ echo "$a $b"
- abc123 abc123
- zhyfly@zhyfly:~$ echo ${a} ${b}
- abc123 abc123
- zhyfly@zhyfly:~$
复制代码
但是当变量中带有IFS(Internal Field Separator)时,双引号就会发生作用,IFS主要由空格,tab和回车三种类型,比如你要定义一个变量为i am a student,就必须用双引号引起:- zhyfly@zhyfly:~$ a=i am a student
- bash: am: command not found
- zhyfly@zhyfly:~$ a="i am a student"
- zhyfly@zhyfly:~$ echo $a
- i am a student
- zhyfly@zhyfly:~$
复制代码
第二个就略有差别.但在这个例子中没有什么差别,${}用于防止变量混淆,比如
- zhyfly@zhyfly:~$ a=i
- zhyfly@zhyfly:~$ b=u
- zhyfly@zhyfly:~$ echo "$a love $b"
- i love u
- zhyfly@zhyfly:~$ echo "$alove$b"
- u
- zhyfly@zhyfly:~$ echo "${a}love$b"
- iloveu
- zhyfly@zhyfly:~$
复制代码
另外${}还有好多功能,比如它可以计算变量长度等
- zhyfly@zhyfly:~$ a="i am a student"
- zhyfly@zhyfly:~$ echo ${#a}
- 14
- zhyfly@zhyfly:~$
复制代码
${}功能很多,可以搜索看看 |
|