Qual é o significado desta expressão de teste []? [duplicado]

6

Eu vi alguém usar o comando:

 ps -ef | grep [h]ttpd 

e a saída é:

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

2 colchetes ao redor da letra "h" onde o grep faz?

    
por fluke-ng 09.06.2013 / 12:11

1 resposta

6

É um truque para impedir que o comando grep apareça na saída ps .

[...] é uma especificação classe de caracteres , ou seja, [ab2] corresponde exatamente a um caractere que deve ser a , b ou 2 . [h] corresponde exatamente a h .

O truque é que [h]ttp corresponde a http , mas não corresponde a si próprio.

    
por 09.06.2013 / 12:21