我正在尝试编写一个简单的脚本,将所有位于$HOME
目录中的文件和文件夹复制到$HOME/Backup/
文件夹中,包括隐藏文件和文件夹,但不包括Backup/
文件夹自身。以下是我目前用于复制的代码:
shopt -s dotglob
for file in $HOME/*
do
cp -r $file $HOME/Backup/
done
Bash告诉我它不能将
Backup/
复制到自身。然而,当我检查$HOME/Backup/
的内容时,发现$HOME/Backup/Backup/
存在。在自身复制
Backup/
是无用的。如何让bash复制除Backup/
之外的所有文件夹?我尝试使用extglob
并使用cp -r $HOME/!(Backup)/
,但它没有复制我需要的隐藏文件。