中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
Shell常见知识(2)
作者:佚名 时间:2007-09-18 16:29 出处:ChinaITLab 责编:月夜寒箫
              摘要:Shell常见知识(2)

shell中的特殊字符有

1、$ 美元符

2、\ 反斜杠

3、` 反引号

4、" 双引号

5、< ,>,*,?,[,]

下面我一一举列说明

一、$符号

1、echo $? 显示的是上一条指令退出状态

2、echo "$?" 效果同上

3、echo '$?' 显示的是$?

4、echo \$? 显示的是$?

5、echo "\$?" 显示的是$?

大家可能已经看出 $符号在双引号中具有特殊意义 双引号对$符号不起作用而单引号可以将特殊字符的的特殊意义屏蔽掉,使其能显示为字符本身,反斜杠也可以将特殊字符的特殊含义屏蔽掉,使特殊字符失去特殊含义。

二、\ 反斜杠

反斜杠的作用是将特殊符号字符的特殊含义屏蔽掉,使其还是原字符

A=1234

echo \$A 显示为$A 如果不加\将显示为1234

echo \` 显示为`

echo \" 显示为双引号

echo \\ 显示为\

三、` 反引号

反引号的功能是命令替换,将反引号中的字符串做为命令来执行,我们在用shell编程时经常用的到 将系统命令的执行结果赋给一个变量

A=`date`

echo $A 显示的不是date而是当时的时间串

比如有一文件A的内容如下 

ABCDEFG

1234456

abcdefg

B=`cat A|grep 234` # 检索文件A中含有字符串234的行

echo $B 将显示为1234456

echo "$B" 将显示为什么?

echo "\$B" 将显示为什么?读者自己试试

四、" 双引号

在系统中有些特殊字符,为避免引用这些特殊字符 往往用双引号或单引号将这些特殊字符引起来,使其不具有特殊含义。

但有一部分特殊字符在引号中还是具有特殊含义,用双引号引起来是不起作用的。本文中所列的前四个特殊字符在双引号中还是特殊字符。为了使其不具有特殊含义一是用单引号引进来二是用\反斜线使其失去作用。

比如我们想原样输出这些特殊字符

echo """

echo "$"

echo "\"

echo "`"

以上不是你所期望的结果,因为双引号对它们不起作用,你只能这样才能输出这些特殊字符的原形

echo '"'

echo '$'

echo '\'

echo '`'



echo "\""

echo "\$"

echo "\\"

echo "\`"

将分别显示为 " $ \ `

五、其它特殊字符

大家注意到,除了前四个特殊字符外,我将其它的特殊字符都放在一块,这是因为前四个特殊字符在双引号中还是具有特殊含义,所以单独拿出来讲,除此以外的特殊字符如果你要输出这些特殊字符的原形,你就可以用双引号或单引号引起来使其失去特殊含义。

< ,>,*,?,[,]对shell有特殊含义 但你可以用双引号引起来输入这些原形

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有