2011-11-14 81 views
0

爲什麼我沒有從這個代碼中的每一行中獲取數字?
任何人都可以告訴我我做錯了什麼嗎?爲什麼我沒有得到每一行的價值?

#!/bin/bash 

seq=$(which seq) 
a=2290 
b=2300 
gen=$($seq $a $b) 

echo "GENERATING..." 

for nr in "$gen" 
do 
     echo "hello $nr" 
done 

echo "DONE." 

我得到這個:

DOWNLOADING... 
hello 2290 
2291 
2292 
2293 
2294 
2295 
2296 
2297 
2298 
2299 
2300 
DONE. 
+0

你什麼輸出?你有沒有嘗試回顯中間值? –

+1

不確定(還)嘗試使用awk? 'seq 2290 2300 | awk'{print「hello」FS $ 0}'' – matchew

+0

@matchew你的單行工作+1 –

回答

3

變化for nr in "$gen"for nr in $gen

刪除引號...它處理的整個序列作爲單個項目。

輸出以前

GENERATING... 
hello 2290 
2291 
2292 
2293 
2294 
2295 
2296 
2297 
2298 
2299 
2300 
DONE.

輸出後:

GENERATING... 
hello 2290 
hello 2291 
hello 2292 
hello 2293 
hello 2294 
hello 2295 
hello 2296 
hello 2297 
hello 2298 
hello 2299 
hello 2300 
DONE.
+1

非常感謝你的工作.. 這是從我這麼noobish:S –

+2

根本不是n00bish。我看到有2-3k點的人忘記了最簡單的語法。不要打垮自己。 –

相關問題