# 注释,行首以#开头为注释(#!是个例外).
参数替换
数制转换
;; 终止"case"选项.
; 命令分隔符,可以用来在一行中来写多个命令.
. .字符匹配,这是作为正则表达是的一部分,用来匹配任何的单个字符.
.命令等价于 source 命令.这是一个 bash 的内建命令.
.作为文件名的一部分.如果作为文件名的前缀的话,那么这个文件将成为隐藏文件.将不被 ls
命令列出.
\ 转义字符,如\X 等价于"X"或'X'
/ 文件名路径分隔符.或用来做除法操作.
` 后置引用,命令替换,命令替换将会重新分配一个命令[1]甚至是多个命令的输出; 它会将命令的输出如实地添加到另一个上下文中. [2]使用命令替换的典型形式是使用后置引用(`...`). 后置引用形式的命令(就是被反引号括起来)将会产生命令行文本.
! 取反操作符,将反转"退出状态"结果.也会反转 test 操作符的意义.比如修改=为!=.!操作是Bash 的一个关键字.
* 万能匹配字符,用于文件名匹配(这个东西有个专有名词叫 file globbing),或者是正则表达式中.注意:在正则表达式匹配中的作用和在文件名匹配中的作用是不同的.
数学乘法.
**是幂运算.
? 测试操作.在一个确定的表达式中,用?来测试结果.(())结构可以用来做数学计算或者是写 c代码,那?就是 c 语言的 3 元操作符的一个.在"参数替换"中,?测试一个变量是否被 set 了.在 file globbing 中和在正则表达式中一样匹配任意的单个字符.
$ 变量替换
在正则表达式中作为行结束符.
${} 参数替换.
$*,$@ 位置参数
$? 退出状态变量.$?保存一个命令/一个函数或者脚本本身的退出状态.
$$ 进程 ID 变量.这个$$变量保存运行脚本进程 ID
() 命令组.
{xxx,yyy,zzz...}
大括号扩展
{} \; 路径名.一般都在 find 命令中使用.这不是一个 shell 内建命令.
注意: ";"用来结束 find 命令序列的-exec 选项.
[] test.
test 的表达式将在[]中.
值得注意的是[是 shell 内建 test 命令的一部分,并不是/usr/bin/test 中的扩展命令
的一个连接.
[[]] test.test 表达式放在[[]]中.(shell 关键字)
具体查看[[]]结构的讨论.
[] 数组元素
Array[1]=slot_1
echo ${Array[1]}
[] 字符范围,在正则表达式中使用,作为字符匹配的一个范围
(()) 数学计算的扩展
在(())结构中可以使用一些数字计算.
具体参阅((...))结构.
|| 或-逻辑操作.
& 后台运行命令.一个命令后边跟一个&,将表示在后台运行.
&& 与-逻辑操作.
- 选项,前缀.在所有的命令内如果想使用选项参数的话,前边都要加上"-".
算术减号.
= 算术等号,有时也用来比较字符串.
+ 算术加号,也用在正则表达式中.
+ 选项,对于特定的命令来说使用"+"来打开特定的选项,用"-"来关闭特定的选项.
% 算术取模运算.也用在正则表达式中.
~ home 目录.相当于$HOME 变量.
~+ 当前工作目录,相当于$PWD 变量.
~- 之前的工作目录,相当于$OLDPWD 内部变量.
=~ 用于正则表达式,这个操作将在正则表达式匹配部分讲解,只有 version3 才支持.
^ 行首,正则表达式中表示行首."^"定位到行首.
阅读(1154) | 评论(0) | 转发(0) |