【问题标题】:Move files matching glob in for...done loop returns 'no such file or directory'在 for...done 循环中移动与 glob 匹配的文件返回“没有这样的文件或目录”
【发布时间】:2019-02-22 13:59:52
【问题描述】:

我正在根据扩展名移动文件。

当存在与 glob 匹配的文件时,以下内容按预期工作;但是当没有匹配的文件时它会返回

'mv: 重命名 /Users/xxx/Downloads/*.txt 为 /Volumes/Internal_HD/*.txt: 目录中没有这样的文件'

in_path=/Users/xxx/Downloads
out_path=/Volumes/Internal_HD

for f in "$in_path"/*.txt; do
    mv -v "$f" "$out_path"
done;

['xxx' 是用户名。]

【问题讨论】:

    标签: bash glob mv


    【解决方案1】:

    设置nullglob 选项,否则如果没有文件匹配,模式将扩展为自身:

    shopt -s nullglob
    

    【讨论】:

    • 谢谢。我猜这很简单
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2014-10-02
    • 2013-09-26
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多