2016-12-14 207 views
0

想一个脚本来从我的内部从目录中的文件夹移动到外部硬盘....如何从shell脚本中移动目录中的目录?

#!/bin/bash 
for i in *; do 
    if [[ $i == [* ]]; then 
     mv $i /entertainment/movies/; 
    fi 
done 

我得到下面的错误:

mv: cannot stat 'DVDRip': No such file or directory 
mv: cannot stat '-': No such file or directory 
mv: cannot stat 'x264': No such file or directory 
mv: cannot stat '-': No such file or directory 
mv: cannot stat 'DD5.1': No such file or directory 
mv: cannot stat '-': No such file or directory 
mv: cannot stat '1GB': No such file or directory 
mv: cannot stat '-': No such file or directory 
mv: cannot stat 'ESub': No such file or directory 
+2

添加引号包围'$ i':'“$ I”' –

+0

它的伎俩......的“MV”正在执行......应该已经添加了详细确认它快一点.. .. – coolstoner

回答

0

使用双引号变量扩展确保空白处理正确。

mv "$i" /entertainment/movies/ 

if测试可以,如果你只遍历文件你有兴趣可以省略。

for i in [*; do 
    mv $i /entertainment/movies/ 
done 

然后你甚至可以抛弃的循环。

mv [* /entertainment/movies/