shell编程基础 单引号和双引号的区别
2008-04-30 18:51
971 查看
下面用一个简单的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#
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#
您可能感兴趣的文章:
相关文章推荐
- PHP基础之数据类型、单双引号区别和定界符
- php基础系列:PHP中单引号与双引号的区别
- delphi基础学习笔记二——delphi 单引号和双引号的区别
- Shell编程基础:单引号和双引号含义区别
- Shell编程基础:单引号和双引号含义区别
- ruby基础系列-ruby字符串对象使用单引号与多引号输出的区别与共同点
- Linux基础学习之双引号、单引号、反向引号的区别
- PHP基础教程(九)字符串定义及单双引号的区别
- shell编程中,单引号,双引号,各种括号的区别
- Shell编程基础(转)
- 零基础学习Shell编程
- Shell编程基础
- Java基础回顾 : RuntimeException和Exception的区别
- (java不懂必看基础)讲一下jdk,jre,jvm的区别。
- C++基础学习笔记----第十四课(new和malloc的区别、单例模式等深入)
- J2SE基础夯实系列之throws还有throw的区别
- php str_replace 单引号 双引号 区别
- shell编程基础(2)---&&与||
- 第七周项目1——成员函数、友元函数、一般函数的区别(基础)
- linux中单引号、双引号、以及反引号的区别