我有一个 shell 脚本,可以备份和恢复扫描仪设备的校准。
代码:
if [ "-backup" == "$1" ]; then
if [ ! -d $BACKUPDIR ]; then
mkdir -p $BACKUPDIR
cp -r -d $HOME/Syscan_DocketPORT465 $BACKUPDIR/Syscan_DocketPORT465
cp -r -d $HOME/DocuCap_DocketPORT467 $BACKUPDIR/DocuCap_DocketPORT467
fi
elif [ "-restore" == "$1" ]; then
if [ -d $BACKUPDIR ]; then
cp $BACKUPDIR/Syscan_DocketPORT465/* $HOME/Syscan_DocketPORT465/
cp $BACKUPDIR/DocuCap_DocketPORT467/* $HOME/DocuCap_DocketPORT467/
fi
fi
现在,它备份 2 个文件夹,Syscan_DocketPORT465
和DocuCap_DocketPORT467
. 在这些文件夹中有一个名为Calibration.dat
.
我现在需要做的是,使后面的每个文件夹都*_DocketPORT*
可以备份和恢复,这样每次添加 DocketPORT 的新配置时,我们就不需要编辑脚本。
我试过这个:
if [ "-backup" == "$1" ]; then
if [ ! -d $BACKUPDIR ]; then
mkdir -p $BACKUPDIR
cp -r -d $HOME/*_DocketPORT* $BACKUPDIR
fi
elif [ "-restore" == "$1" ]; then
if [ -d $BACKUPDIR ]; then
cp -r -d $BACKUPDIR/*_DocketPORT/* $HOME
fi
fi
对于备份,这工作正常!
但是为了恢复它一直告诉我它不能覆盖以前创建/home/path/Calibrate.dat
的/home/path/Syscan_DocketPORT465/Calibration.dat
所以基本上,出于某种原因,它一直在投入Calibration.dat
而/home/path/
不是投入。/home/path/SOMEDOCUCAPFOLDER/
谁能帮我吗?