用于创建多个文件的 .bup 文件副本的 bash 别名

用于创建多个文件的 .bup 文件副本的 bash 别名

我有自己的自定义 .bashrc 文件。我经常练习编码,所以我使用原始文本和 JDK。

我使用“shopt -s extglob”。

我需要创建每个文件的 .bup 副本(非递归)并在工作完成后杀死它们。

所以我做了:

alias do_bups='cp ./!(*.bup) ./*.bup'
alias do_bups_clear='rm ./*.bup'

会发生什么:

cp: target './*.bup' is not a directory

如何复制添加后缀的文件?

答案1

一种方法是:

for f in ./!(*.bup); do
    cp "$f" "$f.bup"
done

一个比较安全的方法:

for f in ./!(*.bup); do
    if [ -f "$f" ]; then
        cp -i "$f" "$f.bup"
    fi
done

相关内容