私はBASHが初めてで、このスクリプトをcronジョブで使用しています。最初は を使用してmv
いましたが、一致するディレクトリなどとマージされないことがわかりました。cp
そのため、マージして置き換えると思われるため、を使用するように勧められました。
/schedule/ = ソース ディレクトリ /public_html/ = ターゲット ディレクトリ
#!/bin/bash
[ignore dot files/hidden files when copying]
cp -a schedule/* public_html/
[empty contents of source directory(schedule/) after copying]
ソース: /schedule/
(フォルダー/ファイルを含む)
/files/
--4.html
--5.html
/assets/
--sitemap.xml
宛先: /public_html/
(前のフォルダーは既に存在します)
/files/
--1.html
--2.html
--3.html
/assets/
--sitemap.xml
cp
最終的に、使用中に隠しファイルを無視し、コピー後にソースディレクトリを空にする方法を見つけようとしています。BASH のリファレンス マニュアルを読んで を見ましたがnullglob
、それを使用する必要があるかどうかはわかりません。
誰かが例を提供したり、私を正しい方向に向けたりできますか?