Re: [問題] shell script 變數問題

看板Linux作者 (Rickie Yang)時間12年前 (2014/01/25 02:03), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串5/5 (看更多)
※ 引述《zhucc (阿朱哥)》之銘言: : 你好、想再請教一下 : 今天我輸出的時候也想利用迴圈的方式輸出 : 所以我寫成下面這樣 : file=/root/zh/pp/file.log : for q in 1 2 3; do : eval TMP${q}="/root/zh/pp/pg${q}.tmp" : done : for j in 1 2 3; do : eval "cat $TMP$j >> $file" : done : 但是實際執行時又出現問題了 : + for j in 1 2 3 : + eval 'cat 1 >> /root/zh/pp/file.log' : ++ cat 1 : cat: 1: No such file or directory : 請問又該如何修正? 其實 script 跟程式一樣,能簡單就不要複雜... 不知道你確切的需求是什麼,不過如果就你的例子,其實可以直接 cat 或用 bash 的 array 來作. 可讀性可能會高一些. file=/root/zh/pp/file.log for q in 1 2 3 do cat /root/zh/pp/pg${q}.tmp >> ${file} done 或是 bash 的 array: file=/root/zh/pp/file.log for q in 1 2 3; do TMP[${q}]="/root/zh/pp/pg${q}.tmp" done for j in 1 2 3; do cat ${TMP[${j}]} >> $file" done -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.222.17.107

01/25 11:17, , 1F
感謝提醒,因為寫的少、所以有時候思路轉不過來
01/25 11:17, 1F

01/25 11:17, , 2F
陣列就更不熟了Orz
01/25 11:17, 2F
文章代碼(AID): #1Iugi33t (Linux)
討論串 (同標題文章)
文章代碼(AID): #1Iugi33t (Linux)