shell编程基础 单引号和双引号的区别

所属分类: 操作系统 / unix linux 阅读数: 118
收藏 0 赞 0 分享
下面用一个简单的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#
更多精彩内容其他人还在看

ipfilter+ipnat包过滤、转发和DHCP服务器架构笔记

ipfilter+ipnat包过滤、转发和DHCP服务器架构笔记
收藏 0 赞 0 分享

FreeBSD5.4Release X Windows 安装笔记 (Freebsd5.4R+Gnome2.10.0)

FreeBSD5.4Release X Windows 安装笔记 (Freebsd5.4R+Gnome2.10.0)
收藏 0 赞 0 分享

在线rss阅读聚合器lilina-0.7安装笔记

在线rss阅读聚合器lilina-0.7安装笔记
收藏 0 赞 0 分享

使用Dreamhost空间下Shell命令的使用方法

使用Dreamhost空间下Shell命令的使用方法
收藏 0 赞 0 分享

Linux下的Grep命令使用方法详细介绍

Linux下的Grep命令使用方法详细介绍
收藏 0 赞 0 分享

linux下修改用户的工具介绍第1/2页

linux下修改用户的工具介绍
收藏 0 赞 0 分享

Linux tar  压缩打包命令使用方法第1/2页

Linux tar  压缩打包命令使用方法
收藏 0 赞 0 分享

Linux 入门常用命令 password — 修改密码,改变用户

Linux 入门常用命令 password — 修改密码,改变用户
收藏 0 赞 0 分享

Linux下必须要学的系统安全命令第1/4页

Linux下必须要学的系统安全命令
收藏 0 赞 0 分享

Linux rpm tar 操作系统下软件的安装与卸载方法

Linux rpm tar 操作系统下软件的安装与卸载方法
收藏 0 赞 0 分享
查看更多