网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > Linux编程 > SHELL编程 > Shell编程基础:单引号和双引号含义区别  

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

2008-04-30  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

    单引号和双引号都能关闭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

网管u家u.bitsCN.com

    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

网管bitscn_com

    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程序,下面是运行结果。

网管网www_bitscn_com

    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

网管论坛bbs_bitsCN_com

    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

网管联盟bitsCN_com

    debian:~/learn/shell# 中国网管联盟bitsCN.com

    ②的结果: 中国网管论坛bbs.bitsCN.com

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

网管bitscn_com

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

网管网www_bitscn_com

    debian:~/learn/shell#

网管bitscn_com


TAGs   含义   区别   基础   编程       debian   /learn/shell#   Susan      
 上一篇:Linux下使用Shell脚本改变当前工作路径   下一篇:没有了
Shell编程基础:单引号和双引号含义区别 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: