小编fir*_*ist的帖子

bash 扩展 glob - 匹配没有前缀的文件

我正在尝试为 fail2ban jail 匹配文件名 - 所以我只需要使用文件名通配符 - 而不是正则表达式或 bash 脚本。

我的/var/log/apache2目录包含文件,包括:

example.com.error.log
db.example.com.error.log
app1.example.com.error.log
app2.example.com.error.log
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个 glob 来匹配所有以.error.log except 结尾的文件db.example.error.log- 这可能吗?

我试过了,!(db)*.error.log但这仍然匹配db.example.com.error.log。我猜!()不匹配任何字符,允许*从文件名的开头匹配。

注意:我不想appX在添加新日志文件时扩展 glob ,所以我不能使用@()当前已知的非数据库文件名列表。

(背景:我想创建一个过滤器,禁止任何人在db.example.com之外的任何域上请求任何 phpMyAdmin URL )

bash wildcards bash-expansion

13
推荐指数
1
解决办法
1506
查看次数

标签 统计

bash ×1

bash-expansion ×1

wildcards ×1