/ / Quelle est la différence entre grep $ et grep $? - shell, unix, grep

Quelle est la différence entre grep \ $ et grep \ $? - shell, unix, grep

Quand je tape grep \$ shell échappe à la fois et $ et le transforme en $ et envoie à grep, qui trouve ensuite toutes les lignes avec le signe dollar $. C'est très bien!

Quand je tape grep \$ le résultat est le même et je ne sais pas vraiment pourquoi. La première barre oblique inverse doit échapper à la seconde, mais ensuite $ n'est pas échappé et shell doit le remplacer par une chaîne vide? grep devrait recevoir et signaler une erreur, mais au lieu de cela, tout fonctionne comme dans le premier exemple pour une raison quelconque.

Réponses:

2 pour la réponse № 1

Dans les shell UNIX, $x est remplacé par la valeur de la variable shell x mais quand rien ne suit la $, aucune substitution n'est effectuée. Vous pouvez tester cela avec echo:

> echo $
$
> echo $x

>

Vos deux arguments grep sont passés à grep exactement comme la même expression régulière.

> echo \$
$
> echo \$
$
>