grep não funciona quando coloco o diretório entre aspas duplas

1

Quando faço algo assim:

grep "hello" /home/paul/*

Funciona.

Mas quando faço algo assim:

grep "hello" "/home/paul/*"

grep exibe o erro:

grep: /home/paul/*: No such file or sirectory

Por que isso?

    
por paul 09.12.2017 / 03:27

1 resposta

6

Do manual de referência do bash:

Enclosing characters in double quotes (‘"’) preserves the literal value of all characters within the quotes, with the exception of ‘$’, ‘'’, ‘\’, and, when history expansion is enabled, ‘!’.

Portanto, você deve remover o caractere especial * da sua string entre aspas para que ele seja tratado como um caractere curinga.

grep "hello" "/home/paul/"*
    
por 09.12.2017 / 03:31