shell () {} Linux—shell中$(( ))、$( )、``与${ }的区别

今天踩了一个小坑,纪念一下

$date  $date_  $(date)  ${date}  的不同

 1 [root@XX-X-XXX-02 XXX_XXXX]# cat echoDate.sh 
 2 #!/bin/bash
 3 
 4 date=`date +"%F_%H%M%S"`
 5 fileName=abcd.jar
 6 
 7 echo ___*___$date_$fileName
 8 echo ___**___$(date)_$fileName
 9 echo ___***___${date}_$fileName
10 echo ___****___${date}_${fileName%.*}
11 [root@XX-X-XXX-02 XXX_XXXX]# ./echoDate.sh 
12 ___*___abcd.jar  //$date $date_ 此处是两个不同的变量,导致取不到值
13 ___**___2018年 07月 10日 星期二 11:56:08 CST_abcd.jar  //在bash中,$( )` `(反引号)都是用来作命令替换的
14 ___***___2018-07-10_115608_abcd.jar
15 ___****___2018-07-10_115608_abcd
16 [root@XX-X-XXX-02 XXX_XXXX]# 

参考:

Linux—shell中$(( ))、$( )、``与${ }的区别

猜你喜欢

转载自www.cnblogs.com/jxdong116/p/9288350.html