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 dewhile
ofor
- falta un
fi
después de unif
- falta un
esac
después decase
- 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