在一行中指定多个文件名。bash

在一行中指定多个文件名。bash

伙计们。我试图从某个目录添加 logrotate 文件。它应该是 *.txt 文件或 *_log 文件。正确的语法是什么:

/var/www/html/groupware/horde_logs/[*.txt|*_log]{
missingok
notifempty
sharedscripts
size=5129k
delaycompress
postrotate
endscript
}

~

或者应该是:

..{*.txt|*_log} or ..(*.txt|*_log)?

答案1

应该是*{.txt,_log}(注意是逗号,而不是竖线)。但是,快速查看 logrotate 的源代码(Ubuntu Saucy)后,我发现GLOB_BRACE没有启用此 GNU 扩展的标志。因此,您必须执行类似以下操作

/var/www/html/groupware/horde_logs/*.txt /var/www/html/groupware/horde_logs/*_log {
  ...
}

反而。

相关内容