`` 命令替换 取命令的执行结果
$() 同上,但它弥补了``的嵌套缺陷
~ 家目录
! 取非,历史命令调用
! ls 带空格 将命令的返回值取反,0-255之间,0则为真,非0位假
!$ 最后一条命令的参数
@ 无特殊含义(在DNS中的SOA记录中@被转换为.)
# 注释(#!是个例外)
$ 变量取值;在正则表达式中作为行结束符.
$*,$@ 位置参数
$? 退出状态变量
$$ 进程ID 变量.
${} 变量名的范围
% 杀后台进程 jobs号; 取模
^ 在[]内取非,上一命令替换,行首
& 后台执行;&& 逻辑与 ls && jobs 前面成功了才执行后面的命令
* 匹配任意长度字符串;计算乘法
** 幂云算
() 命令组.如:1 (a=hello;echo $a)注意:在()中的命令列表,将作为一个子shell 来运行.在()中的变量,由于是在子shell 中,所以对于脚
本剩下的部分是不可用的.如
1 a=123
2 ( a=321; )
4 echo "a = $a" # a = 123
5 # 在圆括号中a 变量,更像是一个局部变量.
用在数组初始化,如:
1 Array=(element1,element2,
- 减号;区间;cd -;杀掉次当前jobs
_ 无特殊含义
+ 加号 ;杀掉当前jobs
= 赋值
| 管道; || 逻辑或
\ 转义;
{} 命令列表, I/O重定向
# { ls; cd /; }
{}\ 路径名; find命令应用
[] 字符通配; [ 测试命令 ] ` ` 拓展测试 (( ))测试
: 空命令 真值,死循环,if/then 中的占位符;2 元命令中提供一个占位符
; 命令结束
;; 终止"case"选项.
" " 软引 ''硬引
< 输入重定向
> 输出重定向
>> 追加
<< here document
>& 合并2和1输出
>| 强制重定向
, 枚举分隔
. source; 当前目录; (正则)单个字符
.. 上一目录
/ 目录分隔符,路径分隔符,除法
? 单个字符;测试操作
回车 命令执行
\<,\> 正则表达式中的单词边界
~+ 当前工作目录,相当于$PWD 变量.
~- 之前的工作目录,相当于$OLDPWD 内部变量.
=~ 用于正则表达式
^ 行首,正则表达式中表示行首."^"定位到行首.
\" \" " " 本身