一、$( ) 与 ``

在bash中,$( )与(反引号)都是用来作命令替换的。
命令替换是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行

[root@localhost ~]# echo today is $(date "+%Y-%m-%d")
today is 2017-11-07
[root@localhost ~]# echo today is `date "+%Y-%m-%d"`
today is 2017-11-07

⚠️注意:$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的

二、${ }

作用是获取变量的结果。一般情况下,$var${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围

在这里插入代码片

三、$(( ))

作用是进行整数运算。 在 $(( )) 中的变量名称,可于其前面加 $ 符号来替换,也可以不用

[root@localhost ~]# echo $((2*3))
6
[root@localhost ~]# a=5;b=7;c=2
[root@localhost ~]# echo $((a+b*c))
19
[root@localhost ~]# echo $(($a+$b*$c))
19

进制转换

$(( ))可以将其他进制转成十进制数显示出来。用法如下:echo $((N#xx))
其中,N为进制,xx为该进制下某个数值,命令执行后可以得到该进制数转成十进制后的值

[root@localhost ~]# echo $((2#110))
6
[root@localhost ~]# echo $((16#2a))
42
[root@localhost ~]# echo $((8#11))
9
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐