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).

  • El atajo de keyboard para cambiar las tabs en la terminal ya no funciona en yosemite
  • Fuente un script de una URL en bash
  • Color del cursor de la viga en I en la terminal de Mavericks
  • Monitoree una carpeta para ver los cambios y ejecute un command cuando se detecte un cambio
  • ¿Cómo puedo mostrar el contenido de la papelera usando el terminal?
  • Problema terminal con la export PS1 = ""
  • ¿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).

  • Crear una estructura de carpeta pnetworkingeterminada e insert la date actual en el terminal por un solo command?
  • zsh temas cargados pero no funcionan
  • Mostrar siempre las teclas de function en la tira de control al usar la terminal
  • Cómo saber qué aplicación de terminal (iTerm o Terminal) se ejecuta desde dentro de bash
  • cómo get ls para listr files en order insensible a mayúsculas y minúsculas?
  • automatice la captura de pantalla de guardado (ya en el portapapeles) en un file en bash
  • 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).