GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el propósito de cd ` (comilla grave)?

Lo que ha escrito es un acento grave:es el comienzo de una instrucción para golpear para evaluar lo que escribe como un comando. El > se muestra para indicar que aún está ingresando el comando en la siguiente línea.

Si cierra el acento grave, encontrará que se ejecutará todo el comando. Por ejemplo

~$ cd `
> echo /var`
/var$

La respuesta de JohnC ya explica el acento grave. Pero lo que también te estás preguntando es el > inmediato. Este es un mensaje de continuación, y no solo se activa con un acento grave, sino que siempre cuando su shell sepa claramente que no ha terminado de ingresar un comando. El ejemplo más sencillo es poner una continuación de línea explícita \ al final de una línea de entrada (lo que ayuda a dividir la entrada larga):

$ echo \
> hallo

Tenga en cuenta que al igual que PS1 controla el aspecto del símbolo del sistema, también puede establecer PS2 para cambiar el mensaje de continuación, por ejemplo,

$ export PS2="(cont.) "
$ echo \
(cont.) hallo

Hay muchas razones para que ocurra la continuación. Un solo acento grave está incompleto, pero también podría ingresar algo como

ls -l `which cp`

en una sola línea (nota al margen:se recomienda usar $( y ) en cambio, dado que los paréntesis hacen obvio dónde comienza y termina la expansión, mientras que las comillas invertidas simples hacen que sea más difícil ver dónde falta uno. Y anidando...). Otras razones posibles para un aviso de continuación:

  • falta un done después de while o for
  • falta un fi después de un if
  • falta un esac después de case
  • falta un paréntesis de cierre, p. ej. en subcapas (cd $HOME; cat .bashrc)
  • falta un comando después de canalizar | así como la ejecución condicional || y && (no & sin embargo, ya que eso solo hace que el comando se ejecute en segundo plano)
  • falta una cita de cierre (' o " )

Curiosamente, falta una llave } después de una expansión variable ${ también genera un aviso de continuación, pero fallará debido al espacio insertado:

$ echo ${
> PS2}
bash: ${
PS2}: bad substitution

Significa que su comando aún no está completo. De hecho, el acento grave del carácter, ` , se utiliza para delimitar un comando en línea.

Ejemplo:

cd /tmp # Go to /tmp
pwd # Prints the current working  directory
ls `pwd` # Lists the content of the current working directory

Linux
  1. ¿El propósito del comando 'instalar'?

  2. ¿El propósito del comando hash?

  3. ¿Qué se supone que debe hacer el comando de exportación en Linux?

  4. ¿Qué hace la -e en un bash shebang?

  5. ¿Cuál es el punto del comando hostnamectl?

¿Qué es el comando Watch de Linux + ejemplos?

Useradd vs Adduser:¿Cuál es la diferencia?

¿Qué es el comando matar en Linux?

¿Cuál es el propósito de los archivos utmp, wtmp y btmp en Linux?

useradd vs adduser:¿Cuáles son las diferencias?

¿Cuál es el uso de la opción -o en el comando useradd?