Soy un novato en shell scripting. ¿Cuál es la diferencia entre estos dos comandos? ¿Para qué sirve el signo del dólar?
mdfind $'kMDItemFSName="*iValet\'s*"c'
mdfind 'kMDItemFSName="*iValet\'s*"c'
Soy un novato en shell scripting. ¿Cuál es la diferencia entre estos dos comandos? ¿Para qué sirve el signo del dólar?
mdfind $'kMDItemFSName="*iValet\'s*"c'
mdfind 'kMDItemFSName="*iValet\'s*"c'
Un signo de dólar antes de una cadena entre comillas simples es solo otro tipo de cadena, pero permite caracteres de escape similares a C, como \n
y \'
.
Se usó en el comando que mencionó porque contiene un escape para la comilla simple: las cadenas de comillas simples normales no permiten que ningún se escape, incluyendo escapes de '
. Las barras invertidas se interpretan literalmente. Entonces, al usar $'…'
, evitó eludir las comillas dobles y permitió que la cadena tuviera un '
en ella.
Hay más información sobre este tipo de cadena que cita aquí en el Wiki de Bash Hackers .
Lea otras preguntas en las etiquetas macos command-line