繁体   English   中英

如何从Shell脚本中移动目录中的目录?

[英]how to move directories within a directory from a shell script?

尝试将目录中的文件夹从我的内部硬盘移动到外部硬盘的脚本...

#!/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

用双引号括住变量扩展,以确保正确处理空白。

mv "$i" /entertainment/movies/

if仅循环浏览感兴趣的文件,则可以省略if测试。

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

然后,您甚至可以放弃循环。

mv [* /entertainment/movies/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM