2017-04-25 48 views
2

我使用下面的shell代碼將文件移動從一個位置到另一個位置:錯誤朝着外殼文件循環

for i in [ test1 test2 test3] 
do 
    mv /home/usr/enabler/$i/* /home/bin/enabler/consolidate 
    echo "moved successfully!!!" 
done                    

bash shell中運行出現錯誤"Illegal file pattern: Unclosed character class near index 1"。我希望循環到每個文件夾test1test2test3和移動存在的所有文件test1test2test3在目標文件夾。

+0

方括號似乎並沒有在所有有用的在這裏,你爲什麼把那些?同時要小心地引用你的變量。另請參見http://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-variable – tripleee

+1

一行:'MV /家庭的/ usr /推動者/ {TEST1,TEST2,TEST3}/* /家用/斌/推動者/ consolidate' –

回答

2

修正你的腳本方式:

for i in test1 test2 test3 
do 
    mv /home/usr/enabler/"$i"/* /home/bin/enabler/consolidate 
    echo "moved successfully!!!" 
done 

這正是你想!