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

13

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

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

lo cual me parece bastante útil. Sin embargo, también hay muchas cosas innecesarias aquí: macbook-romeono es útil ya que siempre estoy en mi macbook (duh). Por otra parte, romeovses bastante útil (este es mi nombre de usuario).

¿Hay un deseo de editar lo que se muestra aquí? p.ej

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

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

romeovs
fuente

Respuestas:

11

Este artículo de OSX Daily tiene algunas instrucciones detalladas sobre cómo hacerlo. En resumen, debe modificar su ~/.bash_profilearchivo y modificar la variable PS1.

A continuación se muestra una lista de posibles variables que puede haber mostrado:

  • \ 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)
BinaryMisfit
fuente
11

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

Abra la terminal y haga lo siguiente:

  • cd ~
  • touch .bashrc
  • open .bashrc

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

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

  • Guarda el archivo y cierra tu editor
  • Regrese a la terminal e ingrese el siguiente comando:

    fuente .bashrc

¡Auge! ¡Ahora debería tener el mensaje deseado! (Si la solicitud deseada fue su ejemplo dado)

macaco
fuente
Cuando hice esto, obtuve el siguiente MBP-15:~ Daniel$ source .bashrc -bash: export: = ': no ​​es un identificador válido -bash: export:\t - \W - \u$ ': not a valid identifier MBP-15:~ Daniel$
Daniel Compton
@DanielCompton Gracias por señalar esto, he actualizado mi respuesta para que funcione. :)
macaco
4

Esto está controlado por la variable de shell $ PS1

Puede establecer esta variable en lo que desee, ya sea de forma temporal o más permanente con un script .login o .profile, según el shell que utilice.

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 \ h y \ W, etc. que puede usar, pero también puede usar la salida de casi cualquier comando, utilizando los "ticks de retroceso" usado en mi ejemplo de fecha anterior). Los comandos dentro de los ticks posteriores se ejecutan y la salida se sustituye, lo que le permite incluir cualquier cosa, incluso si no hay un indicador incorporado, incluso para cosas aparentemente estúpidas, lo que sea que se le ocurra. ¿Desea incluir la hora de la última entrada en un archivo de registro de errores? Use algo como:

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

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

stuffe
fuente