En la terminal, modifique el texto que viene antes de $

8

En la terminal siempre puedo ver en qué ruta estoy:

macbook-romeo:School romeovs$ echo "example command"

que me parece bastante útil. Sin embargo, aquí también hay muchas cosas innecesarias: macbook-romeo no es útil porque siempre estoy en mi macbook (duh). Entonces, nuevamente, romeovs es bastante útil (este es mi nombre de usuario).

¿Hay un wan para editar lo que se muestra aquí? por ejemplo

22:50 - School - Romeo$ echo "example"

donde 22:50 es la hora actual? (Esto es solo un ejemplo, por supuesto, no necesitaré tiempo, usaría como texto para ser un poco más minimalista).

    
pregunta romeovs 21.10.2011 - 22:52

3 respuestas

8

Este artículo OSX Daily tiene algunas instrucciones detalladas sobre cómo que hacer. En resumen, debe modificar su archivo ~/.bash_profile y modificar la variable PS1.

A continuación hay una lista de posibles variables que puede mostrar:

  • \ d - Fecha actual
  • \ t - Hora actual
  • \ h - Nombre de host
  • # - Número de comando
  • \ u - Nombre de usuario
  • \ W - Directorio de trabajo actual (es decir: Escritorio /)
  • \ w - Directorio de trabajo actual, ruta completa (es decir: / Users / Admin / Desktop)
respondido por el BinaryMisfit 21.10.2011 - 23:05
9

Debe modificar el archivo .bashrc que se encuentra en su directorio de inicio .

Abra el terminal y haga lo siguiente:

  • cd ~
  • touch .bashrc
  • open .bashrc

Agregue la siguiente línea al final de su archivo .bashrc

  

exportar PS1 = '\ t - \ W - \ u \ $'

  • Guarde el archivo y cierre su editor
  • Vuelva al terminal e ingrese el siguiente comando:

    fuente .bashrc

¡Boom! ¡Ahora debería tener el indicador deseado! (Si el indicador deseado fuera su ejemplo)

    
respondido por el macaco 21.10.2011 - 23:19
3

Esto está controlado por la variable de shell $ PS1

Puede configurar esta variable para lo que desee, ya sea de forma temporal o más permanente con un script .login o .profile, dependiendo de la shell que use.

Eche un vistazo a la siguiente salida para ver ejemplos:

Last login: Fri Oct 21 21:59:28 on ttys000

Dans-MacBook-Air:~ stuffe$ echo $PS1

\h:\W \u\$

Dans-MacBook-Air:~ stuffe$ PS1="Hello World $"

Hello World $PS1='date'

Fri 21 Oct 2011 22:03:23 BSTsleep 60

Fri 21 Oct 2011 22:03:24 BSTPS1="'date +%H:%M' $"

22:04 $PS1="\h:\W \u\$"

Dans-MacBook-Air:~ stuffe$

Las posibilidades son infinitas. También hay algo que puedes hacer con PS2, pero creo que solo tiene efecto si eres root: los detalles son confusos, mi Unix es hace mucho tiempo y está basado en Solaris, no en Mac OS X, pero los fundamentos son los mismos.

Información adicional: como se sugiere en otras respuestas, hay indicadores incorporados como \ hy \ W, etc. que puede usar, pero también puede usar la salida de casi cualquier comando, usando las "marcas de retroceso" ( comillas simples divertidas usadas en mi ejemplo de fecha arriba). Los comandos que se encuentran dentro de las marcas posteriores se ejecutan y la salida se sustituye, lo que le permite incluir cualquier cosa, incluso si no hay una marca incorporada, incluso para cosas aparentemente estúpidas, en lo que pueda pensar. ¿Desea incluir la hora de la última entrada en un archivo de registro de errores? Usa algo como:

PS1="'tail -1 $LOGFILE | awk '{print $1}'' $ "

(lea la última línea del archivo al que hace referencia $ LOGFILE, e imprima la 1ª columna asumiendo un delimitador de campo predeterminado), etc. Si puede ejecutarlo, puede incluirlo.

    
respondido por el stuffe 21.10.2011 - 23:08

Lea otras preguntas en las etiquetas