这个测试表达式[]是什么意思?

这个测试表达式[]是什么意思?

我见过有人使用命令:

ps-ef | grep [h]ttpd

输出是:

阿帕奇 25125 31006 0 21:54 ? 00:00:00 /usr/sbin/httpd
阿帕奇 26869 31006 0 22:04 ? 00:00:00 /usr/sbin/httpd
阿帕奇 27349 31006 0 22:07 ? 00:00:00 /usr/sbin/httpd
阿帕奇 27696 31006 0 22:09 ? 00:00:00 /usr/sbin/httpd
阿帕奇 28534 31006 0 22:14 ? 00:00:00 /usr/sbin/httpd
根 31006 1 0 16:16 ? 00:00:00 /usr/sbin/httpd
阿帕奇 31011 31006 0 16:16 ? 00:00:00 /usr/sbin/httpd

2 括号里的字母“h”在哪里grep做什么?

答案1

grep这是防止命令本身出现在输出中的技巧ps

[...]是一个字符类规范,即[ab2]完全匹配必须是a,b或 的一个字符2[h]仅完全匹配h

诀窍在于[h]ttp匹配http,但它匹配本身。

相关内容