1. () {} []的区别

$( ) 与` (反引号) 都是用来做命令替换用(commandsubstitution)的<br /> ` 基本上可用在全部的 unix shell 中使用,若写成 shell script ,其移植性比较高。但反单引号容易打错或看错。$()并不是所有shell都支持。

${ }用于变量替换。一般情况下,$var 与${var} 并没有啥不一样。但是用 ${ } 会比较精确的界定变量名称的范围。

中括号[],感觉作用就是用来比较的。比如放在if语句里面,while语句里面,等等使用[[… ]]条件判断结构, 而不是[ … ], 能够防止脚本中的许多逻辑错误.比如,&&, ||, <,和> 操作符能够正常存在于[[ ]]条件判断结构中, 但是如果出现在[ ]结构中的话,会报错。
你必须在左括号的右侧和右括号的左侧各加一个空格,否则会报错。

2. ‘’ ,””,``的区别

因为空格在linux中时作为一个很典型的分隔符,为了避免这个问题,因此就产生了单引号和双引号。
他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的’$’(参数替换)和’`’(命令替换)是例外。
‘’会将内部字符串完全一样输出

  1. num=3
  2. echo $num
  3. $num

“”会将内部字符串中的变量按变量输出

num=3
echo “$num”
3

``里面装的事命令,执行时会执行符号中的命令

echo `ls`
#会先执行 ls 得到xx.sh等,再替换原命令为:
echo xx.sh
#最后执行结果为
xx.sh
  1. awk

Linux awk命令

  1. sed

Linux sed命令