| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。 中国网管论坛bbs.bitsCN.com
下面用一个简单的shell程序要说明一下。
网管u家u.bitscn@com
debian:~/learn/shell# cat phonebook 网管下载dl.bitscn.com
Alice Chebba 973-555-2015 中国网管论坛bbs.bitsCN.com
Barbara Swingle 201-555-9257
Liz Stachiw 212-555-2298
网管联盟bitsCN@com
Susan Goldberg 201-555-7776 网管论坛bbs_bitsCN_com
Susan Topple 212-555-4932 网管网www_bitscn_com
Tony Iannino 973-555-1295 中国网管论坛bbs.bitsCN.com
Stromboli Pizza 973-555-9478
debian:~/learn/shell#
网管u家u.bitsCN.com
debian:~/learn/shell# cat lu 网管网www_bitscn_com
# Look someone up in the phone book 网管下载dl.bitscn.com
grep "$1" phonebook
网管u家u.bitscn@com
debian:~/learn/shell#
网管u家u.bitscn@com
这是正确的lu程序,下面是运行结果。
debian:~/learn/shell# ./lu 'Susan T' 网管下载dl.bitscn.com
Susan Topple 212-555-4932
中国网管联盟bitsCN.com
debian:~/learn/shell# ./lu Tony
网管网www.bitscn.com
Tony Iannino 973-555-1295
debian:~/learn/shell# 网管网www.bitscn.com
如果lu写成①grep $1 phonebook或者②grep '$1' phonebook,就会出现下面的错误结果(为什么?)。
网管bitscn_com
①的结果: 网管联盟bitsCN@com
debian:~/learn/shell# ./lu Tony //这种情况结果正确 网管u家u.bitscn@com
Tony Iannino 973-555-1295 网管联盟bitsCN_com
debian:~/learn/shell# ./lu 'Susan T' //这种情况结果错误 中国网管联盟bitsCN.com
grep: T: No such file or directory
网管联盟bitsCN@com
phonebook:Susan Goldberg 201-555-7776 网管网www.bitscn.com
phonebook:Susan Topple 212-555-4932
debian:~/learn/shell# 中国网管联盟bitsCN.com
②的结果: 中国网管论坛bbs.bitsCN.com
debian:~/learn/shell# ./lu Tony //这种情况结果错误
debian:~/learn/shell# ./lu 'Susan T' //这种情况结果也错误
debian:~/learn/shell#
网管bitscn_com
|
0
|
评论加载中…