1

スキャナー デバイスのキャリブレーションをバックアップおよび復元するシェル スクリプトがあります。

コード:

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_DocketPORT465DocuCap_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/

誰でも私を助けることができますか?

4

1 に答える 1