Cuando se usa la línea de comando, a menudo se vuelve muy abarrotada. Haciendo inconveniente examinar los comandos pasados y sus salidas, por ejemplo.
Me gustaría agregar una nueva línea cada vez antes de que se muestre el símbolo del sistema. Al igual que:
<clutter>
<blank line>
name@machine:~$
Yo uso el bash shell. ¿Cómo se puede lograr esto?
bash
command-line
Slothworks
fuente
fuente

Respuestas:
Una forma de lograr esto es modificando el
.bashrcarchivo. Simplemente coloque lo siguiente al final del.bashrcarchivo.Para explicar cómo funciona esto,
PS1es la variable que contiene lo que se debe mostrar como solicitud. Todo lo que dice es "establecerPS1el contenido anterior dePS1, con un carácter de nueva línea antepuesto". Ponerlo en la.bashrcmayoría de las distribuciones solo hace que bash lo ejecute cada vez que abre un shell interactivo (pero no un shell de inicio de sesión; consulte ¿ Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión? ).fuente
PS1="\n$PS1"en una terminal tiene efecto instantáneo :)clear(o presionarCtrl+l) la primera línea que se muestra es una línea vacía. Para algunos podría ser un pequeño detalle, pero preferiría que la primera línea sea el aviso.Puedes usar PROMPT_COMMAND :
o:
fuente
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"? En su forma actual, parece que no hace nada cuando lo coloco en el.bashrcarchivo.printfyechoson muy livianos, por supuesto, pero aún no tiene sentido usarPROMPT_COMMANDcuándoPS1hará el trabajo.Alternativa: deje una línea en el
PS1=indicador de su.bashrc. Aquí está literalmente cómo configuro.bashrcen cada máquina Linux que tengo:Como puede ver en mi ejemplo anterior, el nombre de usuario está codificado en la solicitud. Por supuesto, puede usar secuencias de escape que bash u otro shell (por ejemplo, ksh ) proporciona, pero una opción un poco más neutral sería usar la sustitución de parámetros con comandos como
whoami(informar su nombre de usuario) yhostname(obviamente, informa el nombre de host). Por ejemplo:Para obtener más cosas divertidas con el indicador,
.bashrcy las expansiones de parámetros, consulte mis respuestas aquí:¿Cómo verificar el estado de la batería usando la terminal?
¿Cómo puedo hacer que mis terminales / proyectiles tengan diseños personalizados? y
¿Cómo mostrar un reloj en ejecución en la terminal antes del símbolo del sistema?
fuente
$(whoami)lugar deusernamehardcoded\uy\hpara su nombre de usuario y nombre de host, respectivamente. Puede ver más caracteres especiales (por ejemplo, la hora actual en varios formatos) aquí