La variable de solicitud $PS1
probablemente no se configuró, por lo que \s-\v\$
se utiliza el valor predeterminado incorporado .
Cuando bash se inicia de forma interactiva, obtiene un archivo de configuración, generalmente ~/.bashrc
o bien ~/.bash_profile
, suponiendo que existan, y así es como se configura un indicador más sofisticado. De man bash
:
INVOCACIÓN
[...] Cuando se invoca bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción --login, primero lee y ejecuta comandos del archivo / etc / profile, si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_login y
~ / .profile, en ese orden [...]
[...] Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, bash lee y ejecuta comandos desde
~ / .bashrc, si ese archivo existe.
No tener su conjunto de avisos puede ocurrir en dos contextos diferentes entonces, shells de inicio de sesión y shells sin inicio de sesión. Si utiliza un administrador de pantalla para iniciar sesión directamente en la GUI, no encontrará shells de inicio de sesión a menos que cambie a una consola virtual (a través de, por ejemplo, CtrlAlt+ F1 a F6). Sin embargo, puede poner a prueba su perfil de inicio de sesión de bash en la interfaz gráfica de usuario mediante la apertura de un nuevo shell de entrada de forma explícita: bash -l
.
El problema ocurre con los shells que no son de inicio de sesión
Si el problema ocurre con, por ejemplo, terminales GUI normales, entonces ~/.bashrc
falta el tuyo o se ha editado para excluir el abastecimiento de un archivo global, probablemente /etc/bashrc
.
Si ~/.bashrc
no existe, debería /etc/skel/.bashrc
usarse para crearlo para nuevos usuarios. Simplemente copie ese archivo en su directorio de inicio, y su solicitud predeterminada debería volver para el próximo nuevo shell que abra.
Si ~/.bashrc
existe, verifique si hay una línea en alguna parte que las fuentes /etc/bashrc
:
. /etc/bashrc
-OR-
source /etc/bashrc
De lo contrario, verifique si ese archivo existe (debería, al menos en la mayoría de las distribuciones de Linux) y agregue dicha línea a su ~/.bashrc
.
Se produce un problema con los shells de inicio de sesión
Si el problema ocurre con los shells de inicio de sesión, así como con los shells que no son de inicio de sesión, probablemente el problema sea el mismo que el anterior. Si ocurre solo con shells de inicio de sesión, no tiene uno de los archivos mencionados para shells de inicio de sesión en la cita de INVOCACIÓN anterior, o no obtienen su fuente ~/.bashrc
, lo cual es normal en la mayoría de las distribuciones de Linux. Si ninguno de esos archivos existe, cree ~/.bash_profile
con esto en él:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Esto le permite, en su mayor parte, mantener su configuración en un archivo ( ~/.bashrc
).
Si no importa lo que haga, no puede obtener un aviso de regreso, puede crear uno y ponerlo de ~/.bashrc
esta manera:
if [ "$PS1 ]; then
PS1= .... # see below
fi
Esto se debe a que $ PS1 está configurado y tiene un valor predeterminado para shells interactivos, y no desea establecerlo de otra manera, ya que otras cosas pueden usar este valor para determinar si se trata de un entorno interactivo.
La página de manual de bash contiene una sección PROMPTING que describe cómo configurar una solicitud con características dinámicas como su nombre de usuario y directorio de trabajo actual, que sería, por ejemplo,:
PS1="\u \w:"
Hay una guía para usar el color aquí . Preste atención al hecho de que debe incluir caracteres no impresos \[
y \]
(al final de la respuesta hay una discusión sobre los colores).