Shell编程基础:单引号和双引号含义区别
浏览:32日期:2024-10-16
;单引号和双引号都能关闭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#
相关文章:
热门推荐
- 页面中标题替换方法,在SQL中取数据时
- 1.ASP 3.0高级编程(一)
- 2.Apache中通过配置http.conf绑定多个域名以及二级域名的方法
- 3.Sybase邹作基获选2007中国软件十大领军人物
- 4.戏说编程语言之如何使用各种编程语言杀死一条龙
- 5.当面试官问我ArrayList和LinkedList哪个更占空间时,我是这么答的(面试官必问)
- 6.免费的(X)HTML+CSS模板
- 7.新闻观察:微软宣布支持Eclipse开源项目
- 8.什么是全栈开发者——全栈工程师的定义、具备的技能以及优势
- 9.Javascript使用HoTMetal(3)实例教程
- 10.FreeBSD下安装MySQL+Apache+PHP新手指南