shell script 變數問題 - Linux

By Ivy
at 2014-01-23T15:19
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
: 請問又該如何修正?
--
--
: 你好、想再請教一下
: 今天我輸出的時候也想利用迴圈的方式輸出
: 所以我寫成下面這樣
: 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

By Jacob
at 2014-01-25T22:57
at 2014-01-25T22:57

By Bennie
at 2014-01-30T15:08
at 2014-01-30T15:08

By Eartha
at 2014-02-02T03:57
at 2014-02-02T03:57

By Mary
at 2014-02-05T14:08
at 2014-02-05T14:08

By Audriana
at 2014-02-09T19:05
at 2014-02-09T19:05

By Agatha
at 2014-02-12T13:01
at 2014-02-12T13:01

By Frederica
at 2014-02-17T07:33
at 2014-02-17T07:33

By Quintina
at 2014-02-19T03:59
at 2014-02-19T03:59

By Emily
at 2014-02-20T17:36
at 2014-02-20T17:36
Related Posts
安裝軟體的路徑錯誤

By Susan
at 2014-01-23T13:48
at 2014-01-23T13:48
新增模組

By Andy
at 2014-01-23T13:11
at 2014-01-23T13:11
Web Service 架站實務

By Audriana
at 2014-01-23T01:33
at 2014-01-23T01:33
安裝軟體的路徑錯誤

By Hedy
at 2014-01-23T00:17
at 2014-01-23T00:17
shell script 變數問題

By Zanna
at 2014-01-22T22:20
at 2014-01-22T22:20