shell scrip 內的 "_" 請教 - Linux

Table of Contents

自己的Linux相關都是自學,所以某些基礎東西可能比較不瞭解

今天在寫 shell script 時,發現一個令我不解的問題

前面我先定義了兩個變數

date=$(date +%m%d_%H%M%S)
AAA=`tail -n1 abc.log`

後面想要用 echo 輸出到檔案裡面

echo "$date_$AAA" >> abc.log

這樣就只會輸出 $AAA 的內容

但是只要改掉 "_" 就可以了

echo "$date-$AAA" >> abc.log


所以我想請教的是,第一個 echo 裡面的 "_" 為何會有問題?是保留字還是?

因為可能關鍵字下錯,所以 google 不到東西 Orz

感謝^^

--

All Comments

Oscar avatarOscar2013-09-28
把兩個變數名稱用大括號括起來 ${date}_${AAA}
Andy avatarAndy2013-09-30
因為底線本身也可以被包含在變數名稱內所以你實際輸出的不是
$date 而是 $date_
Cara avatarCara2013-10-03
瞭解了、感謝^^