Linux bash shell中``与${ }的区别 冷不防 2022-02-04 08:27 280阅读 0赞 ### 一、命令替换 ### 在bash中,$( )与``(反引号)都是用来作命令替换的。 命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。 [root@localhost ~]echo today is $(date "+%Y-%m-%d") today is 2019-05-03 [root@localhost ~]echo today is `date "+%Y-%m-%d"` today is 2019-05-03 **$( )与\`\`**:在操作上,这两者都是达到相应的效果,但是建议使用`$( )`,理由如下: * \*\*\`\`\*\*很容易与`''`(引号)搞混乱,尤其对初学者来说,而`$( )`比较直观。 * 但是,`$( )`的弊端是,**并不是所有的类unix系统都支持这种方式**,但反引号是肯定支持的。 * 过多的使用\*\*\`\`\*\*会存在问题,也不容易阅读,例如: [root@localhost ~]echo Linux `echo Shell `echo today is `date "+%Y-%m-%d"``` Linux Shellecho today is 2019-05-03 #过多使用``会有问题 [root@localhost ~]echo Linux `echo Shell $(echo today is $(date "+%Y-%m-%d"))` Linux Shell today is 2019-05-03 ``和$()混合使用,结果正常 [root@localhost ~]echo Linux $(echo Shell $(echo today is $(date "+%Y-%m-%d"))) Linux Shell today is 2019-05-03 #多个$()同时使用也不会有问题 ### 二、$\{ \}变量替换 ### 一般情况下, v a r 与 var与 var与\{var\}是没有区别的,但是用$\{ \}会比较精确的界定变量名称的范围,比如: [root@localhost ~]A=Linux [root@localhost ~]echo $AB #表示变量AB [root@localhost ~]echo ${A}B #表示变量A后连接着B LinuxB ### **资料分享** ### **[java学习笔记、10T资料、100多个java项目分享][java_10T_100_java]** [java_10T_100_java]: https://blog.csdn.net/liewen_/article/details/89737004
还没有评论,来说两句吧...