我希望将所有以某个扩展名结尾的文件与 shell glob 匹配。
在这种情况下,我希望以扩展名结尾的所有文件为目标,这些文件是我在第一行.sh
放置“shebang”(如 )后使用 Bash shell 执行的 bourne 文件。#!/bin/bash
这是,例如,我有一个 cron 命令:
0 0 * * * "$HOME"/public_html/cron_daily/myfile.sh 2>/dev/null
相反 myfile.sh 我需要定位该目录中的所有文件,并以.sh
扩展名结尾。
下面的代码是否正确?
0 0 * * * "$HOME"/public_html/cron_daily/*$.sh 2>/dev/null
更新
我认为这在使用 glob 时很好:
*.{sh}
您只需使用扩展名
*.sh
匹配所有文件.sh
。(根据需要添加路径。)但是,这不会有你想要的结果。查看
run-parts
从以下位置运行多个脚本cron
:(这将运行 中的所有可执行文件
.../public_html/cron_daily
,而不仅仅是.sh
文件。顺便说一句,您确定将 cron 脚本保存在 下是个好主意public_html
吗?该目录是否由您的 Web 服务器提供服务?)你不能那样做,因为它们将被合并到一个命令行中。