Signe dollar dans la commande shell mdfind


2

Je suis un débutant dans les scripts shell. Quelle est la différence entre ces deux commandes? Quelle est l'utilisation du signe dollar?

mdfind $'kMDItemFSName="*iValet\'s*"c'
mdfind 'kMDItemFSName="*iValet\'s*"c'

Réponses:


3

Un signe dollar avant une chaîne entre guillemets n'est qu'un autre type de chaîne, mais il permet l'utilisation de caractères d'échappement similaires à ceux du C, tels que \net \'.

Il a été utilisé dans la commande que vous avez mentionnée car il contient un échappement pour les guillemets simples. Les chaînes entre guillemets simples normales ne permettent aucun échappement, y compris les échappements de '. Les barres obliques inverses sont interprétées littéralement. Donc, en l'utilisant, $'…'cela évitait d'échapper aux guillemets et permettait à la chaîne de contenir un '.

Il y a quelques informations supplémentaires sur ce type de chaîne citant ici sur le Wiki Bash Hackers .


1
Je n'ai jamais entendu parler de c-strings à Bash. Soigné.
Jason Salaz
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.