En général, pour éviter un backslash, doublez-le. Si \x
devient x
, alors \\
devient \
. Cette interprétation de barre oblique inversée "mange" les barres obliques inverses, mais pas si elles sont préfixées par une barre oblique inverse. Cela passe à côté de Git, où le shell le mange (interprète le backslash suivi d'un autre caractère comme spécial), donc si cette commande est envoyée à un shell, doublez-la à nouveau. Maintenant, un backslash dans le résultat final est représenté par quatre dans l'entrée.
Si le shell le passe à une commande telle que sed
qui traite spécialement le backslash, doublez-le à nouveau. Maintenant, un backslash est huit!
Si cette commande passe la chaîne à une autre commande qui effectue une contre-oblitération, vous devrez la doubler à nouveau, et ainsi de suite. Pour cette raison, nous avons d'autres mécanismes de citation dans le shell (et dans d'autres langages): à l'intérieur des guillemets simples, la barre oblique inverse n'est plus spéciale, donc vous pouvez diviser par deux le nombre de barres obliques inversées. (Comparez avec, par exemple, des chaînes «brutes» en Python.) Pour ce cas particulier, cependant, huit barres obliques inverses ne sont probablement pas bien pire que des guillemets simples prudents et quatre antislashs.
Cette explication approfondie a fait l'affaire. Merci beaucoup, je l'ai eu le travail! – DavidS