== 这是 中国WEB信息博物馆Web InfoMall 2003年10月05日 存储的网页 ==
点击这里查看本网页的其他版本 隐藏InfoMall信息

竹笋炒肉: bash编程学习笔记(2)

September 28, 2003

bash编程学习笔记(2)

  bash中的一些特殊字符,具有特定含义或特殊功能。同一字符,在不同的上下文环境中,含义可能不一致,这点一定要注意。

特殊字符表


字符说明
#注释符,从#至行尾都是注释。在引号、反引号及正则式、表达式中不是注释符。
;命令分隔符,由此可将多个命令放在一行中。(if 语句的条件式后有;号)
;;Case语句中一个选项的结束符。
.1)相当于source命令
2)文件名的一部分,尤其是用在开头可隐藏文件。
3)一个.表示当前目录,一个..表示上一级目录。
4)在正则式中,表示非回车换行的一个字符。
"部分引用,即有部分字符还需要解释出具体内容。
'全部引用,引号内的字符不再进一步解释。
,逗号操作符,连接一系列算术运算,但只返回最后一个的结果
\转义符,
/文件路径分隔符,或除号
`命令执行符,将执行的输出结果放入一变量
:空命令,不做任何操作,返回真值。也被用来分隔PATH变量值中的路径,或etc/passwd中的项
!对一个检测或返回值取反
*统配符,正则式中的限定符,算法操作的乘号,一个**是幂运算符。
?测试符,统配符
$变量值引用符,或正则式中的行结束
${}变量替换符
$*或$@位置参数
$?返回状态值变量
$$进程ID变量
()1)命令组,启动一个子shell,由此组中定义的变量不能被组后的脚本访问。
2)数组初始化。
{xxx,yyy...}选项符,选项间不能有空格,除非有引号或已转义。
{}代码块符,定义匿名函数,不启动子shell,变量值块后脚本可见,可把此代码作一个命令看,有输入输出并可重定向。
{}\;路径名,用在find命令中,对;转义以防为shell解析为命令分隔符,此;用以结束-exec参数。
[]检测符,表达在[]内。[是shell内建的,不是对/usr/bin/test的引用
数组元素
字符范围
[[]]检测符,
(())扩展并计算整数表达式
>或<重定向符,字符串或整数大于或小于符
&>将stdout和stderr重定向到一个地方
>&2将stdout重定向到stderr。
>>结果追加到信件尾部
<<用在here document中
\>或\<正则式的单词边界(\b?)
|管道,将前者的stdout作后者的stdin的内容,以子进程的方式运行,不可用来修改变量
>|强制重定向
||逻辑或
&&逻辑AND
&后台运行
-1)参数前缀
2)stdout/stdin重定向,此时不是shell的功能,而是相关程序的。
3)前一个工作目录,等$OLDPWD
4)减号
=等号,或字串比较符
+加号
有些程序用+打开用-关闭某些功能
%模操作符,在正则式中做匹配符
~初始目录,等于$HOME
~+当前目录,等于$PWD
~-前一工作目录,等于$OLDPWD
^正则式中的行开始。

Posted by Hilton at September 28, 2003 12:30 AM | TrackBack
Comments
Post a comment









Remember personal info?