特殊符号

  1. #  a 注释,行首以#开头为注释(#!除外)

          b  也可以出现在特定的参数替换结构或者是数字常量表达式中  echo ${PATH#*:}, 2#11 

  2. ; 命令分隔符,可以用来一行写多个命令

  3. ;; 制止case 选项

  4. .   a  .命令等价source命令 它是一个bash的内建命令  

          b 作为文件名的一部分 .作为前缀的话,那这个文件将成为隐藏文件

          c  .命令作为目录一部分的话 表示当前文件 ..表示上一目录

          d  .命令经常作为一个文件移动命令的目的地

          e  .字符匹配,这是作为正则表达式的一部分,用来匹配任何的单个字符 

 5.  " 部分引用 阻止部分特殊字符

 6.  ' 全引用 阻止全部特殊字符

 7.  , 逗号链接了一系列的算术操作,虽然里面所有的内容被运行了,但只有最后一项被返回

 8.  \  转义字符

 9.  / 文件名路径分隔符 

 10. ` 后置引用,命令替换

 11.  :  a 空命令 与内建命令(true)作用相同  它的返回值为0 就是shell返回true 

           b 在一个2元命令中提供一个占位符

 12. !   a 取反操作符,将反转"退出状态"结果 也会反转test操作符的意义

           b 取历史命令 在脚本中 "history mechanism"被禁用

           c 也会出现在间接变量引用 

 13. ?   a 测试操作

           b 正则中匹配任何单个字符

14 $    a 变量替换

           b 正则中作为行的结束符 

           ${} 参数替换

           $*,$@ 位置参数

           $? 退出状态变量

           $$ 进程ID变量

15.()   a 命令组 

           b 数组初始化

16.{} 代码块  与()中命令不同,{}中的代码块将不能正常开启一个新的shell

17.[]   a test表达式在[]中

           b 数组元素

           c 字符范围

18. (()) 数学计算扩展

19. | 管道 前边的命令的输出,并将输出作为后边命令的输入

20. &  后台运行命令

21. -  a 选项,前缀 在所有命令内如果想使用选项参数的话,前边要加-

         b 用户重定向输入输出 (cd /source/dir && tar cf - .) | (cd /dest/dir & tar xpvf -)

         c cd- 回到之前工作目录

22. ~ home目录

     ~+ 当前工作目录

     ~- 之前的工作目录

23. >&>>&>><

      a 重定向

         script>file 重定向脚本的覆盖输出文件中

         cmd&>file 重定向stdout和stderr到文件中

         cmd&>&2 重定向cmd的stdout到stderr

         script>>file 重定向脚本的添加输出到文件中

      b 进程替换

      c <,> ASCII比较

      d \<.\> 正则表达式中的单词边界

24.  控制终端和文本显示的行为,在脚本中不能正常使用

       ctrl-Z  终止前台工作 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程

       ctrl-D 从当前shell登出

       ctrl-C  break 终止前台工作 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序

       ctrl-L 清屏

25. 文件测试操作符

     -e 文件存在

     -f 表示这个文件是一般文件不是目录或者设备

     -s 文件大小不为0

     -d 表示是一个目录

     -p 这是一个管道

     -S 表示socket

     -x 是否有可写权限

     -u 设置suid标志的文件

posted on 2014-04-22 11:46  kangbry  阅读(335)  评论(0编辑  收藏  举报

导航