我是BASH的新手,我一直在使用cron作业来处理这个脚本。我遇到了一些麻烦,最初使用mv
,但事实证明它不会与匹配的目录或任何东西进行合并。所以我被建议使用cp
,因为这将被合并和替换。BASH - 复制时忽略隐藏文件和空源目录
/时间表/ =源目录 /的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
Ultimat ely,我试图找出如何在使用cp
时忽略隐藏文件,并在复制后清空源目录。我正在阅读BASH参考手册,看到nullglob
,但我不知道这是应该使用的。
任何人都可以提供一个例子或指向正确的方向吗?
尝试'rsync' .... –
是的,'rsync'有一个可以过滤隐藏文件的'--exclude'选项和一个'--prune-empty-dirs'选项,可以过滤掉空白的dirs。 – SaltyEgg