
あるディレクトリから別のディレクトリにファイルと (サブ) ディレクトリを移動するスクリプトを書こうとしています。その移動操作には、通常のファイルとディレクトリだけでなく、ドット ファイルも含まれる必要があります。これまでのところ、次のようなスクリプトを思いつきました。
mv -f "$SOURCE_DIR"/.?? "$TARGET_DIR"
mv -f "$SOURCE_DIR"/.??* "$TARGET_DIR"
mv -f "$SOURCE_DIR"/* "$TARGET_DIR"
ただし、パターンに一致するファイルがない場合、これらのコマンドは失敗します。
いずれにせよ、この移動操作が成功する必要があります。
- ファイル名に関係なく
- ファイルが全く存在しない場合でも
- ファイル、リンク、ディレクトリなどの種類に関係なく
しかし、何かが完全にうまくいかない場合(たとえば、ターゲット ディレクトリでの権限が不十分な場合など)には操作が失敗する必要があるため、エラーを無視するのは適切なオプションではありません。
この問題を解決するにはどうすればいいでしょうか? 私が見落としていた非常に簡単な解決策があると思います。
助けてくれてありがとう!
答え1
おそらく、必要以上に難しく考えすぎているのでしょう。
mv $srcdir $destdir