En terminal, modifique el text que viene antes de $

En la terminal, siempre puedo ver en qué path 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 ya que siempre estoy en mi macbook (duh). Entonces otra vez romeovs es bastante útil (este es mi nombre de usuario).

¿Hay algún deseo de editar lo que se muestra aquí? p.ej

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

donde 22:50 es la hora actual? (Esto es solo un ejemplo, por supuesto, no necesitaré time, usaría el text para ser un poco más minimalist).

  • ¿Hay un triple clic de estilo UNIX para seleccionar la ruta en Terminal.app?
  • Opción + clic en iTerm
  • Actualizado a Yosemite, mkdir ahora dice "permiso denegado"
  • ¿No se define ningún bloque de desarrollo para automake? Error al usar Homebrew
  • Mac nl solo toma líneas de 2048 caracteres de largo
  • ¿Hay alguna manera de acceder a la list de "Elementos recientes" desde la terminal?
  • ¿Por qué sudo solicita una contraseña en la terminal?
  • equivalente a macOS de `cmdtool`
  • 3 Solutions collect form web for “En terminal, modifique el text que viene antes de $”

    Este artículo de OSX Daily tiene algunas instrucciones detalladas sobre cómo hacerlo. En resumen, necesitas modificar tu file ~/.bash_profile y modificar la variable PS1.

    A continuación hay una list de posibles variables que puede haber exhibido:

    • \ d – Fecha actual
    • \ t – Hora actual
    • \ h – Nombre de host
    • # – Número de command
    • \ u – Nombre de usuario
    • \ W – Directorio de trabajo actual (es decir: Escritorio /)
    • \ w – Directorio de trabajo actual, ruta completa (es decir: / Users / Admin / Desktop)

    Necesita modificar el file .bashrc que se encuentra en su directory de inicio .

    Abra la terminal y haga lo siguiente:

    • cd ~
    • touch .bashrc
    • open .bashrc

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

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

    • Guarde el file y cierre su editor
    • Regrese a la terminal e ingrese el siguiente command:

      fuente .bashrc

    ¡Auge! ¡Ahora debería tener su request deseada! (Si el indicador deseado fue su ejemplo)

    Esto está controlado por la variable de shell $ PS1

    Puede establecer esta variable en lo que desee, temporal o permanentemente con un script .login o .profile, dependiendo de qué shell 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 borrosos, mi Unix fue hace mucho time 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 el resultado de casi cualquier command, usando los "tics de retroceso" (comillas simples divertidas) utilizado en mi ejemplo de date anterior). Los commands dentro de los ticks de atrás se ejecutan y la salida se sustituye, lo que le permite include cualquier cosa, incluso si no hay una bandera incorporada, incluso para cosas aparentemente estúpidas, lo que sea que se le ocurra. ¿Desea include la hora de la última input en un file de logging de errores? Use algo como:

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

    (lea la última línea del file referencedo por $ LOGFILE, e imprima la 1ra columna suponiendo un delimitador de campo pnetworkingeterminado) etc. etc. Si puede ejecutarlo, puede includelo.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).