2016-07-31 38 views
0

我試過做.sh腳本讀取兩個文件。目前我收到此錯誤line 7: file1: No such file or directory我該怎麼做while while循環,其中讀取兩個文件

用戶&城市文件與腳本位於同一文件夾中。

#!/bin/bash 
file1='user.txt' 
file2='city.txt' 

while read -r -u 4 line1 && read -r -u 5 line2; do 
    echo "Output-1: $line1 & Output-2: $line2" 
done 4<file1 5<file2 

回答

0

此錯誤是想告訴你,有一個名爲「文件1」沒有這樣的文件:

文件1:沒有這樣的文件或目錄

這不是「文件1」你想要讀取來自「user.txt」的輸入,其中 在變量file1的值中。 要做到這一點,寫$file1代替file1,像這樣:

#!/bin/bash 
file1='user.txt' 
file2='city.txt' 

while read -r -u 4 line1 && read -r -u 5 line2; do 
    echo "Output-1: $line1 & Output-2: $line2" 
done 4<"$file1" 5<"$file2" 
+0

謝謝!現在它的工作。 但現在我有另一個問題,它不打印output1,只有2?這是爲什麼? 兩個文本文件都有相同數量的行。 – TheExel80

+0

@ TheExel80我看不出這是怎麼可能的。如果你包含輸入文件的內容和輸出的內容,我可以看看。 – janos