2012-12-05 135 views
0

我想將多個文件路徑作爲字符串放在bash腳本中,所以我可以將此字符串傳遞給另一個程序。 當我連接這些文件路徑時,我得到錯誤:沒有這樣的文件或目錄。 Bash有踩此文件路徑作爲字符串而不是文件...將路徑轉換爲字符串bash

林串聯這樣:

all="" 
for path in $dir/*; do 
    filePath="$path/file.txt" 
    $all="$all I=$filePath" 
done 

echo $all 

我怎樣才能得到這個輸出?

I=first/file.txt I=second/file.txt etc. 
+0

all =「$ all I = $ filePath」你有沒有嘗試初始$? –

+0

你的代碼有些問題:你完全不使用循環變量'path' ... – Jens

+0

在使這個腳本變得簡單的時候犯了一個小錯誤;)問題是Velthune提到的...... – Jetse

回答

1

只是你的語法錯誤:

all="" 
for path in $dir/*; do 
    filePath="$dir/file.txt" 
    all="$all I=$filePath" #without $ 
done 
echo $all 
+2

這就是問題......爲什麼bash不會給shell一個語法錯誤,而不是說它不是文件或dir -_- – Jetse

0

也許你想用path?並且不要在作業中使用$作爲前綴。

all="" 
for path in $dir/*; do 
    filePath="$path/file.txt" 
    all="$all I=$filePath" 
done 
echo $all