2017-04-25 38 views
0

我寫了一個腳本,它應該取第一個tar文件,執行script.sh,然後是第二個tar文件等。 這是怎麼script.sh樣子:bash:一個接一個地處理一個文件

tarball=(`ls -a | cut -d "." -f 1`) 
mkdir ./$tarball 
tar -zxvf $tarball.tar -C ./$tarball 

我執行script.sh用下面的命令:

for tarball in ./*.tar; do bash script.sh; done 

但是變量tarball的分配只需要第一個文件並處理它(發佈的代碼後上面有一些awk命令將某些輸出寫入文件)。

如何在第一個tar文件被拍攝後進行腳本編寫,第二個被拍攝等等?

+0

因爲你沒有通過任何的腳本,你必須腳本中的分配。 – 123

回答

0

你可以做這在你的腳本或只是把你的腳本和管道while循環任何列表中選擇想要到腳本:

ls -1 | cut -d "." -f 1 | 
    while read tarball 
    do 
     mkdir "$tarball" 
     tar -zxvf "${tarball}.tar" -C ./"$tarball" 
    done 
相關問題