xywuyiba6 发表于 2018-8-26 08:37:38

linux shell脚本中各种引号和各种括号

  引号
  1.$()和 `在 bash shell 中,$( ) 与 ` (反引号) 都可用做命令替换用
  2.${ }
  ${ }用于变量替换。一般情况下,$var 与${var} 并没有什么不一样,但是用 ${ } 会比较精确的界定变量名称的范围。
  ${ }的模式匹配功能:
  (#) 是去掉左边(在键盘上#在$之左边)
  % 是去掉右边(在键盘上%在$之右边)
  #和%中的单一符号是最小匹配,两个相同符号是最大匹配.
  3.$[] $(())
  $[]和$(())是一样的,都是进行数学运算的。支持+ - / %(“加、减、乘、除、取模”)。但是注意,bash只能作整数运算,对于浮点数是当作字符串处理的。
  在 $(( )) 中的变量名称,可于其前面加 $ 符号来替换,也可以不用,如:
  $(( $a + $b$c)) 也可得到 19 的结果
  此外,$(( )) 还可作不同进位(如二进制、八进位、十六进制)运算,只是,输出结果皆为十进制而已:
  echo $((16#2a)) 结果为 42 (16进位转十进制)
  4.[ ]
  为test命令的另一种形式,但要注意:
  1.必须在左括号的右侧和右括号的左侧各加一个空格,否则会报错。
  2.test命令使用标准的数学比较符号来表示字符串的比较,而用文本符号来表示数值的比较
  3.大于符号或小于符号必须要转义,否则会被理解成重定向。
  (( ))及[[ ]]
  分别是[ ]的针对数学比较表达式和字符串表达式的加强版。
  其中
  [[ ]]中增加模式匹配特效;
  (( ))不需要再将表达式里面的大小于符号转义,除了可以使用标准的数学运算符外,还增加了以下符号:

页: [1]
查看完整版本: linux shell脚本中各种引号和各种括号