[問題] shell script 變數問題

看板Linux作者 (阿朱哥)時間12年前 (2014/01/22 20:03), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串1/5 (看更多)
想請教一下為何下列第二和第三種方法會顯示錯誤訊息 1. TMP1=/root/zh/pp/pg1.tmp TMP2=/root/zh/pp/pg2.tmp 2. q=1 while [ "$q" -le "4" ];do TMP${q}=/root/zh/pp/pg${q}.tmp q=`expr $q + 1` done 3. for q in 1 2 3 4 do TMP$q=/root/zh/pp/pg$q.tmp done 第二和第三錯誤訊息都是 + TMP1=/root/zh/pp/pg.tmp pp.sh: line 4: TMP1=/root/zh/pp/pg1.tmp: No such file or directory + TMP2=/root/zh/pp/pg2.tmp pp.sh: line 4: TMP2=/root/zh/pp/pg2.tmp: No such file or directory -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.55.125

01/22 20:43, , 1F
加個 env ?
01/22 20:43, 1F
env ? 不懂該加什麼說

01/22 20:50, , 2F
" "
01/22 20:50, 2F
請問是加在那邊?我加在變數右邊一樣會錯誤 TMP$q="/root/zh/pp/pg$q.tmp" ※ 編輯: zhucc 來自: 114.33.55.125 (01/22 20:57)

01/22 21:40, , 3F
應該是補 eval, ex: eval TMP${q}=/root/zh/pp/pg${q}.tmp
01/22 21:40, 3F
可以了、感謝 ※ 編輯: zhucc 來自: 114.33.6.214 (01/23 01:09)
文章代碼(AID): #1ItxEGw9 (Linux)
文章代碼(AID): #1ItxEGw9 (Linux)