繁体中文
设为首页
加入收藏
当前位置:技术首页 >> 系统 >> Linux/Unix >> 编程开发 >> Shell编程基础:单引号和双引号含义区别

Shell编程基础:单引号和双引号含义区别

2008-07-28 13:55:36  作者:IT动力源  来源:itzero.com  浏览次数:0  文字大小:【】【】【
关键字:编程开发
单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。

 

下面用一个简单的shell程序要说明一下。

 

debian:~/learn/shell# cat phonebook

Alice Chebba 973-555-2015

Barbara Swingle 201-555-9257

Liz Stachiw 212-555-2298

Susan Goldberg 201-555-7776

Susan Topple 212-555-4932

Tony Iannino 973-555-1295

Stromboli Pizza 973-555-9478

debian:~/learn/shell#

 

debian:~/learn/shell# cat lu

# Look someone up in the phone book

grep "$1" phonebook

debian:~/learn/shell#

 

这是正确的lu程序,下面是运行结果。

 

debian:~/learn/shell# ./lu 'Susan T'

Susan Topple 212-555-4932

debian:~/learn/shell# ./lu Tony

Tony Iannino 973-555-1295

debian:~/learn/shell#

 

如果lu写成①grep $1 phonebook或者②grep '$1' phonebook,就会出现下面的错误结果(为什么?)。

 

①的结果:

 

debian:~/learn/shell# ./lu Tony //这种情况结果正确

Tony Iannino 973-555-1295

debian:~/learn/shell# ./lu 'Susan T' //这种情况结果错误

grep: T: No such file or directory

phonebook:Susan Goldberg 201-555-7776

phonebook:Susan Topple 212-555-4932

debian:~/learn/shell#

 

②的结果:

 

debian:~/learn/shell# ./lu Tony //这种情况结果错误

debian:~/learn/shell# ./lu 'Susan T' //这种情况结果也错误

debian:~/learn/shell#


点击收藏到

责任编辑:fwr

本文引用地址: http://tech.itzero.com/2008/0728/article_38235.html 请粘贴到你的QQ/MSN上推荐给你的好友

相关文章
Linux下JBoss不能显示JasperReport报表
Linux系统下多线程程序编译makefile文件
Linux下Grub和NT Loader启动菜单的编写
Debian Linux系统编译内核标准方式介绍
Windows和Linux系统下的JAVA程序运行方法
Linux系统下C语言编程 线程操作入门常识
SUSE 10.2 Linux下配置Eclipse开发环境
SUN公司即将完成JAVA语言的全部开源工作
Linux操作系统下C程序语言简易编程尝试
Ubuntu Linux 8.04系统JAVA环境配置方法
 

最新文章

更多

· Linux下JBoss不能显示Ja...
· Linux系统下多线程程序编...
· Linux下Grub和NT Loader...
· Debian Linux系统编译内...
· Windows和Linux系统下的...
· Linux系统下C语言编程 线...
· SUSE 10.2 Linux下配置E...
· SUN公司即将完成JAVA语言...
· Linux操作系统下C程序语...
· Shell编程基础:单引号和...

热点文章

更多

· 在Linux操作系统下JDK环...
· Linux Shell学习:uniq命...
· Shell学习:关于替换命令...
· Linux下automake软件编译...
· Socket相关程序:从Wind...
· SUSE Linux系统BASH下配...
· 几种常被人们忽略的Linu...
· Ubuntu Linux 8.04系统J...
· Shell编程基础:单引号和...
· Linux操作系统下C程序语...

其它推荐