顺德公农庄 发表于 2018-8-24 12:33:08

shell之特殊字符

  bash是强大的脚本语言,在众多的Linux发生版中也是默认的shell,支持变量和特殊字符,下面就来看看它有哪些特殊字符:
  ;      命令分隔符,可以在一行中写多个命令
  ;;       终止case选项
  .      shell内建命令,等同于source,
  .      作为文件名的一部分,如果是前缀,则表示为隐藏文件
  .      字符匹配,在正则表达式中表示单个字符
  "      双引号,弱引用,可以实现变量
  '      单引号,强引用,引用字符本身
  \      转义字符
  `      后置引用,命令替换
  :      空命令,就是什么都不干,在脚本中: > a.txt 等同于 cat /dev/null > a.txt
  !       取反操作符,shell关键字
  *      任意字匹配,在算术运算中**是幂运算
  ${}      引用变量
  $?       退出状态变量
  $#       在bash脚本中表示参数的个数
  $* $@    在bash脚本中表示参数的列表
  $0       脚本名称
  ()       命令组:如:(a=3;echo $a),注意在()中的变量,其使用范围仅限于()内并且产生子shell运行
  {a,b}    大括号扩展,如 cat {a.txt,dns.sls} > c.txt
  []       test的表达式,在正则表达式中表示字符匹配的范围
  (())   数据计算的扩展
  >      标准输出重定向
  2>       错误输出重定向
  &>       重定向所有输出
  <      输出重定向
  ||       或,逻辑操作
  &&       与,逻辑操作
  {}       代码块,这个结构创建了一个匿名的函数,但和函数不同的是,其中声明的变量对脚本的其它部分来说,是可见的。
  如:
  #!/bin/bash
  a=5
  { a=123; }
  echo $a    #a=123 说明代码块中对变量a的修改,影响了外边的变量a
  -      用于重定向stdin或stdout,如:ls /root | cat - 或 grep 'c' a.txt| diff c.txt -
  ^      表示定位到行首

页: [1]
查看完整版本: shell之特殊字符