Soy un novato en la programación de shells. ¿Cuál es la diferencia entre estos dos comandos? ¿Para qué sirve el signo de dólar?
mdfind $'kMDItemFSName="*iValet\'s*"c'
mdfind 'kMDItemFSName="*iValet\'s*"c'
Soy un novato en la programación de shells. ¿Cuál es la diferencia entre estos dos comandos? ¿Para qué sirve el signo de dólar?
mdfind $'kMDItemFSName="*iValet\'s*"c'
mdfind 'kMDItemFSName="*iValet\'s*"c'
Un signo de dólar antes de una cadena de una sola cita es sólo otro tipo de cadena, pero permite caracteres de escape tipo C, como \n
y \'
.
Se usó en el comando que mencionó porque contiene un escape para la única cita - las cadenas de una sola cita normal no permiten cualquier escapes en absoluto, incluyendo escapes de la '
. Los retrocesos se interpretan literalmente. Así que al usar $'…'
evitó escapar de las comillas dobles, y permitió que la cuerda tuviera un '
en ella.
Hay algo más de información sobre este tipo de cita de la cadena aquí en la Wiki de los Bash Hackers .
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.