[問題] shell scrip 內的 "_" 請教

看板Linux作者 (阿朱哥)時間12年前 (2013/09/26 15:41), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
自己的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 感謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.55.125

09/26 15:45, , 1F
把兩個變數名稱用大括號括起來 ${date}_${AAA}
09/26 15:45, 1F

09/26 15:47, , 2F
因為底線本身也可以被包含在變數名稱內所以你實際輸出的不是
09/26 15:47, 2F

09/26 15:47, , 3F
$date 而是 $date_
09/26 15:47, 3F

09/26 15:53, , 4F
瞭解了、感謝^^
09/26 15:53, 4F
文章代碼(AID): #1IG-L4Ul (Linux)