$()和${}和$(())和(())

$()和${}的用法:

  1. 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。而 $( ) 并不见的每一种 shell 都能使用,若你用 bash2 的话,肯定没问题...

  2. 看 ${ } 吧... 它其实就是用来作变量替换用的啦。一般情况下,$var 与 ${var} 并没有啥不一样。但是用 ${ } 会比较精确的界定变量名称的范围

  •  我们可以用 ${ } 分别替换获得不同的值。$(var#*/)  $(var%/*)  以/ 为分割符

  • 利用 ${ } 还可针对不同的变量状态赋值(没设定、空值、非空值) ${var:-abc} ${var:+abc} ${var:?abc}

  • 还有哦,${#var} 可计算出变量值的长度

$(())的用途:

它是用来作整数运算的。

在 bash 中,$(( )) 的整数运算符号大致有这些:

+ - * / :分别为 "加、减、乘、除"。

% :余数运算

& | ^ !:分别为 "AND、OR、XOR、NOT" 运算。

举例:

wangnc>a=5;b=7;c=2;

wangnc>echo $a + $b

5 + 7

wangnc>echo $(( a + b*c))

19

wangnc>echo $(((a*b)/c))

17

wangnc>echo $(($a +$b*$c))

19

$(())的用途:

它是用来作整数运算的。

在 bash 中,$(( )) 的整数运算符号大致有这些:

+ - * / :分别为 "加、减、乘、除"。

% :余数运算

& | ^ !:分别为 "AND、OR、XOR、NOT" 运算。

举例:

wangnc>a=5;b=7;c=2;

wangnc>echo $a + $b

5 + 7

wangnc>echo $(( a + b*c))

19

wangnc>echo $(((a*b)/c))

17

wangnc>echo $(($a +$b*$c))

19


你可能感兴趣的:($()和${}和$(())和(()))