我有自己的自定义 .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