LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1798|回复: 5

bash语法规则--你不可不知道的基础

[复制链接]
发表于 2005-9-26 10:56:43 | 显示全部楼层 |阅读模式
bash语法规则--你不可不知道的基础
bash的语法规则
第一 使用元字符
元字符是对shell有特殊意义的字符.下表列出了对bash有特殊意义的元字符.
字符----类------------------------对bash的意义
$          通用                        标识一个变量
#          通用                        开始一条注释
#!          shell脚本                声明哪个命令解释器用于运行脚本
.          shell脚本                执行(通过source)一个脚本而不派生subshell
*          通配符                        匹配一个或多个字符
?          通配符                        匹配一个字符
&          作业控制                在后台运行一个命令
>          作业控制                重定向标准输出
<          作业控制                重定向标准输入
>>          作业控制                重定向并附接标准输出
2>          作业控制                重定向标准错误
|          作业控制                管道传送一条命令的输出到另一条命令
""          引号                        在文本串中包含空格
''          引号                        不解释字条串中的变量或元字符
``          引号                        将命令的结果用作变量中的值
\          转义符                        使bash不解释元字符
-------------重点介绍------------
双引号 ( " )
单引号 ( ' )
反引号 ( ` ) 位置在Esc键下方的 (~)
反斜杠 ( \ )
-------------------------
1.1 双引号---将带空格的文本串包含在双引号里,这样bash将解释整个字符串,如下例
$ export suspects="Miss Scarlet Professor Plum"
$ echo $suspects
输出: Miss Scarlet Professor Plum
再看一下不带双引号的例子
$ export suspects=Miss Scarlet Professor Plum
$ echo $suspects
输出: Miss
1.2 单引号---当不想让bash解释并扩展变量名或保留字符,如($) 和反斜杠(\)时,使用单引号 看下例
使用双引号的情况
$ echo "$USER is" $USER
输出: root is root
使用单引号的情况
$ echo '$USER is' $USER
输出: $USER is root
现在大家应该明白单引号的作用了吗那么考下面的例子的输出情况
$ echo '\n'
$ echo '$$'
1.3 使用反引号在变量中保存命令的结果
使用反引号字符括住一条命令,反引号将命令的输出保存到一个变量里.例如如果要在member数据库里查找Emily的全名,可以使用grep命令白手搜索.将grep命令用反引号括住,bash将保存grep搜索的结果到下列变量中
$ export prime_suspect=`grep Emily member`
$ echo $prime_suspect
输出 Miss Scarlet Emily
强调:反引号将命令的输出保存到一个变量里
1.4 反斜杠 如果想输出元字符或者是一些保留字,可以在这些元字符或者是保留字之前加\,bash将不解释\之后的元字符或者保留字,而是直接输出,看下例
$ export id_var=Miss\$scarlet
$ echo $id_var
输出 Miss$scarlet
1.4.1使用反斜杠修饰脚本的输出
学过编程的同志应该可以理解这些通用的反斜杠字条及其功能
反斜杠字符--------------------功能-------------
\a                        振铃(报警声)
\b                        显示一个退格
\n                        插入一个换行(新行)
\c                        略去结尾的换行(新行)
\r                        插入一个回车
\t                        插入一个tab
----------------------------------------------
第二 正确的使用空白

使用空白的两条规则
1.在一个if测试中包含空白
2.在变量定义中不要包含空白
看下例  
$ if [ $id_var = "love" ] #在一个if测试中包含空白
$ id_var="love"           #在变量定义中不要包含空白

第三 向脚本添加功能  (待续未完)
发表于 2005-9-26 11:02:03 | 显示全部楼层
好贴!!!
回复 支持 反对

使用道具 举报

发表于 2005-9-26 12:42:31 | 显示全部楼层
沙发,茶水,学习
回复 支持 反对

使用道具 举报

发表于 2005-9-26 13:30:52 | 显示全部楼层
都知道 -_-
回复 支持 反对

使用道具 举报

发表于 2005-9-26 16:01:27 | 显示全部楼层
温故而知新,不错
回复 支持 反对

使用道具 举报

发表于 2005-9-26 16:35:27 | 显示全部楼层
下一贴在哪里??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表