shell script 變數問題 - Linux

Ivy avatar
By Ivy
at 2014-01-23T15:19

Table of Contents

※ 引述《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"
eval "cat \$TMP$j >> $file"
: done
: 但是實際執行時又出現問題了
: + for j in 1 2 3
: + eval 'cat 1 >> /root/zh/pp/file.log'
這邊就看出最後被解析成 'cat 1 >> /root/zh/pp/file.log'
你"cat $TMP$j >> $file"進到SHELL後就會被直接解析成上面了
最主要問題是 $TMP << 這個應該要再eval裡面解析 而不是在SHELL
所以要改成 \$TMP 讓SHELL知道那$不是變數開頭 只是個$字元
: ++ cat 1
: cat: 1: No such file or directory
: 請問又該如何修正?

--
XXXXGAY:你聽過樹懶叫的聲音嗎?01/05 02:28
HornyDragon:樓上一定聽過還敢說01/05 02:30
XXXXGAY:我會樹懶叫唷,樓上想聽嗎? 01/05 02:33
jijiyyder:樓上和樓樓上好閃 01/05 02:34
ggwha:我想起龍大和貓大決鬥旳推娃 01/05 02:38
kongtson:看來上面兩位要生小龍貓囉 01/05 03:19

--
Tags: Linux

All Comments

Jacob avatar
By Jacob
at 2014-01-25T22:57
你聽過樹懶叫的聲音嗎?
Bennie avatar
By Bennie
at 2014-01-30T15:08
樓上一定聽過還敢說
Eartha avatar
By Eartha
at 2014-02-02T03:57
我會樹懶叫唷,樓上想聽嗎?
Mary avatar
By Mary
at 2014-02-05T14:08
樓上和樓樓上好閃
Audriana avatar
By Audriana
at 2014-02-09T19:05
我想起龍大和貓大決鬥旳推娃
Agatha avatar
By Agatha
at 2014-02-12T13:01
看來上面兩位要生小龍貓囉
Frederica avatar
By Frederica
at 2014-02-17T07:33
感謝、所以是 shell -> eval 的順序在解析就對了
所以如果我在上面另外加一行 TMP=TMP 答案也會出來
Quintina avatar
By Quintina
at 2014-02-19T03:59
只是多此一舉而已,非常感謝
Emily avatar
By Emily
at 2014-02-20T17:36
如果是 bash,建議先採用陣列表示方式 ${TMP[$j]}

安裝軟體的路徑錯誤

Susan avatar
By Susan
at 2014-01-23T13:48
剛剛製作了一個 Fedora 適用的套件 https://build.opensuse.org/package/show/home:bluebat/talys 基本上不需要 talys.setup 而只需 cd source sed -i and#39;s|/home/finux01b/akoning/ta ...

新增模組

Andy avatar
By Andy
at 2014-01-23T13:11
抱歉想問個問題 我想自己新增模組到核心內,首先我先到目標目錄新增一個A.c檔 之後在此目錄的 Kconfig 新增 config TEST tristate and#34;C testand#34; 然後到此目錄的 makefile 打上 obj-$(CONFIG_TEST) +=A ...

Web Service 架站實務

Audriana avatar
By Audriana
at 2014-01-23T01:33
想請教一下 本身是software developer 未來想走技術經理的路 所以想暸解各技術的實務 當然不可能說熟到很厲害 這邊想暸解Web Service相關的實務 不知有沒有比較推薦的書籍或網站 Detail部份: 大致想知道流量統計、記憶體、CPU相對於連線數,同時在線數 DB連線數 ...

安裝軟體的路徑錯誤

Hedy avatar
By Hedy
at 2014-01-23T00:17
抱歉我重新整理發問 我要安裝一個叫talys的軟體 README裡面寫到 https://www.dropbox.com/s/k04n9m5y61c3i75/README talys.setup https://www.dropbox.com/s/ardxgrm4w1q30am/talys.setup ...

shell script 變數問題

Zanna avatar
By Zanna
at 2014-01-22T22:20
當有變數存在時 TMP${q}=something只能被當作是一般字串 而非命令 你可以試著這樣操作 並檢驗它的執行過程 echo and#34;---- start ----and#34; x=123 foo${x}bar=foobar echo and#34;${foo123bar}and#34; e ...