Encontré el siguiente comando:
sudo chown `id -u` /somedir
y me pregunto:cuál es el significado del `
símbolo. Noté, por ejemplo, que mientras el comando anterior funciona bien, el siguiente no:
sudo chown 'id -u' /somedir
Respuesta aceptada:
Esto es un comic inverso . Un acento grave no es un signo de comillas. Tiene un significado muy especial. Todo lo que escribe entre acentos graves es evaluado (ejecutado) por el shell antes del comando principal (como chown
en sus ejemplos), y la salida de esa ejecución es utilizada por ese comando, como si escribiera esa salida en ese lugar en la línea de comando.
Entonces, qué
sudo chown `id -u` /somedir
se ejecuta efectivamente (dependiendo de su ID de usuario ) es:
sudo chown 1000 /somedir
`-- the second argument to "chown" (target directory)
`-- your user ID, which is the output of "id -u" command
`-- "chown" command (change ownership of file/directory)
`-- the "run as root" command; everything after this is run with root privileges
Eche un vistazo a esta pregunta para saber por qué, en muchas situaciones, no es una buena idea usar acentos graves.
Por cierto, si alguna vez quisiste usar un acento grave literalmente, p. ej. en una cadena, puede escapar colocando una barra invertida ( ) antes.