Segno di dollaro nel comando mdfind shell

2

Sono un novizio nello scripting di shell. Qual è la differenza tra questi due comandi? A cosa serve il simbolo del dollaro?

mdfind $'kMDItemFSName="*iValet\'s*"c'
mdfind 'kMDItemFSName="*iValet\'s*"c'
    
posta Paul Claude 17.06.2014 - 16:37
fonte

1 risposta

3

Un segno di dollaro prima di una stringa con quotatura singola è solo un altro tipo di stringa, ma consente caratteri di escape simili a C, come \n e \' .

È stato usato nel comando che hai menzionato perché contiene una escape per le virgolette singole virgolette singole-normali non consentono affatto le fughe any , compresi gli escape di ' . I backslash sono interpretati letteralmente. Pertanto, utilizzando $'…' ha evitato l'escape delle virgolette doppie e ha consentito alla stringa di contenere ' .

Ci sono ulteriori informazioni su questo tipo di citazione di stringhe qui sul Wiki di Bash Hackers .

    
risposta data 18.06.2014 - 00:15
fonte

Leggi altre domande sui tag