es.phhsnews.com


es.phhsnews.com / Cómo Personalizar (y Colorear) Su Petición Bash

Cómo Personalizar (y Colorear) Su Petición Bash


La mayoría de las distribuciones de Linux configuran el indicador Bash para que se parezca anombre de usuario @ nombrehost: directorio $. Pero puede configurar el indicador de Bash para que contenga lo que quiera e incluso elija los colores que desee.

Los pasos de ejemplo aquí se realizaron en Ubuntu 16.04 LTS. El proceso debe ser el mismo en otras distribuciones de Linux, aunque el indicador y la configuración de Bash predeterminados en el archivo .bashrc pueden ser un poco diferentes.

Dónde está almacenada la variable de solicitud

La configuración del indicador Bash se almacena en su usuario el archivo .bashrc de la cuenta, que está en~ / .bashrc. Entonces, si su nombre de usuario es bob, el archivo está en/home/bob/.bashrc.

Puede abrir el archivo para ver la variable Bash actual. Usaremos nano como nuestro editor de texto de ejemplo, aunque también podría usar vi, emacs o cualquier otro editor de texto con el que se sienta cómodo. Abra una Terminal y ejecute:

nano ~ / .bashrc

Desplácese hasta la secciónPS1 =. La primera variable parece bastante complicada porque incluye información sobre el color; lo explicaremos más adelante. La segunda variable, sin información de color, dice lo siguiente:

$ {debian_chroot: + ($ debian_chroot)}  u @  h:  w  $

Esto todavía es un poco complicado debido a la$ {debian_chroot: + ($ debian_chroot)}bits. Estos simplemente le dicen a Bash que le avise si está utilizando un entorno chroot de Debian y normalmente no se mostrará. Ignorando ésos, aquí está la estructura predeterminada de la variable de solicitud Bash:

 u @  h:  w  $
uindica su nombre de usuario,@indica el signo @, hindica el nombre de host (nombre de equipo),:indica el carácter: windica el directorio de trabajo y $indica $ si eres una cuenta de usuario normal o # si eres root. Entonces, juntando todo eso, obtienesusername @ hostname: working_directory $.

Para cambiar tu prompt de Bash, solo tienes que agregar, eliminar o reorganizar los caracteres especiales en la variable PS1. Pero hay muchas más variables que puede usar que las predeterminadas.

Deje el editor de texto para ahora, en nano, presione Ctrl + X para salir. Le mostraremos cómo experimentar con las variables antes de escribir una nueva en su archivo .bashrc.

Cómo crear un mensaje Bash personalizado

La configuración del indicador Bash se almacena en la variable PS1. Para guardar los contenidos de la variable PS1 en una nueva variable, ejecute el siguiente comando:

DEFAULT = $ PS1

Ahora puede establecer la variable PS1 en diferentes valores para experimentar. Por ejemplo, la primera línea aquí establecería su aviso en un aviso básico de "usuario $", mientras que el segundo establecería su aviso en un aviso básico de "usuario: directorio_trabajo $".

PS1 = " u  $" PS1 = " u:  w  $"

Si alguna vez quiere volver a su solicitud predeterminada, simplemente ejecute el siguiente comando.

PS1 = $ DEFAULT

Bash se restaurará a su prompt predeterminado gracias al hecho de que haya guardado esas configuraciones predeterminadas anteriormente. Tenga en cuenta que los cambios que realice aquí son solo temporales para la sesión actual de Bash, por lo que siempre puede cerrar sesión y volver a iniciar o cerrar y volver a abrir la ventana del terminal para volver a la solicitud predeterminada. Pero la línea anterior permite volver fácilmente al indicador de Bash predeterminado sin la molestia de cerrar sesión o cerrar una ventana.

Puede agregar caracteres o texto a la variable. Por lo tanto, para prefijar el prompt predeterminado con "Hello World", puede usar:

PS1 = "Hello World  u @  h:  w  $"

Ahora que ya tiene los fundamentos, solo necesito saber cuales son todos los personajes especiales. Probablemente no le importen muchas de estas, pero esta es la lista completa tal como aparece en el manual de Bash:

  • Un carácter de campana: a
  • La fecha, en formato de "Día de la semana, mes" ( por ejemplo, "Mar 26 de mayo"): d
  • El formato se pasa a strftime (3) y el resultado se inserta en la cadena de solicitud; un formato vacío da como resultado una representación de tiempo específica del lugar. Los refuerzos son obligatorios: D {format}
  • Un carácter de escape: e
  • El nombre de host, hasta el primer '.': h
  • El nombre de host: H
  • El número de trabajos actualmente administrados por el shell: j
  • El nombre base del nombre del dispositivo terminal del shell: l
  • Una nueva línea: n
  • Un retorno de carro: r
  • El nombre del shell, el nombre base de $ 0 (la parte que sigue a la barra inclinada final): s
  • La hora, en formato de 24 horas HH: MM: SS: t
  • La hora, en 12 horas HH : Formato MM: SS: T
  • La hora, en formato de 12 horas am / pm: @
  • La hora, en formato de 24 horas HH: MM: A
  • El nombre de usuario del usuario actual: u
  • La versión de Bash (por ejemplo, 2.00): v
  • El lanzamiento de Bash, versión + parche (por ejemplo, 2.00. 0): V
  • El directorio de trabajo actual, con $ HOME abreviado con una tilde (usa la variable $ PROMPT_DIRTRIM): w
  • El nombre base de $ PWD, con $ HOME abreviado con a tilde: W
  • El número de historial de este comando:!
  • El número de comando de este comando: #
  • Si el uid efectivo es 0 , #, de lo contrario $: $
  • El carácter cuyo código ASCII es el valor octal nnn: nnn
  • Una barra invertida:\
  • Comienza una secuencia de no- impresión de caracteres. Esto podría usarse para insertar una secuencia de control de terminal en el indicador: [
  • Finalizar una secuencia de caracteres no imprimibles:]

Entonces, si desea agregar la fecha y la hora a su indicador de Bash y ponga el directorio de trabajo en el comando en una segunda línea, puede usar la siguiente construcción:

PS1 = "[ d  t]  u @  h  n  w  $"

Los corchetes aquí no son necesarios en absoluto, pero ayudan a dividir las cosas visualmente y hacen que la línea sea más fácil de leer. Como vimos anteriormente, puede agregar cualquier texto o caracteres normales a la variable que desee, así que siéntase libre de usar lo que sea que le funcione.

Hay un truco más poderoso que debe conocer: Puede agregar la salida de cualquier comando a la indicación. Cada vez que aparece el mensaje, Bash ejecutará el comando y completará la información actual. Para hacer esto, simplemente incluya cualquier comando que desee ejecutar entre dos'caracteres. Eso no es un apóstrofo, ese es el acento grave, que aparece sobre la tecla Tab en el teclado.

Por ejemplo, supongamos que quiere ver la versión del kernel de Linux en el indicador. Puede usar una línea como la siguiente:

PS1 = " u @  h en 'uname -s -r'  w  $"

Como otro ejemplo, digamos que desea ver el tiempo de actividad del sistema y promedio de carga, como se muestra con el comandouptime. Puede usar la siguiente construcción, que pone el tiempo de actividad en su propia línea antes del resto del aviso.

PS1 = "('tiempo de actividad')  n  u @  h:  w $"

Siéntase libre para experimentar con diferentes caracteres especiales y comandos para ensamblar el símbolo del sistema ideal.

Cómo agregar colores a su indicación Bash

Una vez que haya resuelto su solicitud preferida, puede agregarle colores. Esto es realmente muy simple, pero hace que la variable se vea terriblemente complicada y complicada si no comprende lo que está mirando.

Por ejemplo, la variable de solicitud de color predeterminada anterior era:

$ {debian_chroot : + ($ debian_chroot)}  [ 033 [01; 32m ]  u @  h  [ 033 [00m ]:  [ 033 [01; 34m ]  w  [ 033 [00m  ]  $

O quitando los bits debian_chroot una vez más:

 [ 033 [01; 32m ]  u @  h  [ 033 [00m ]:  [ 033 [01; 34m] ]  w  [ 033 [00m ]  $

Esta es realmente la variable u @ h: w $de antes, pero con información de color. Realmente, podemos dividirlo en algunas secciones:

 [ 033 [01; 32m ]   u @  h   [ 033 [00m ] :   [ 033 [01; 34m ]   w   [ 033 [00m ]   $ 

La primera sección es u @ hbit, precedido por información de color que lo vuelve verde. El segundo es el carácter:, precedido por información de color que elimina cualquier coloración. El tercero es el wbit, precedido por información de color que lo convierte en azul. El cuarto es el $bit, precedido por información de color que elimina cualquier coloreado.

Una vez que comprenda cómo construir etiquetas de color propias, puede agregar los colores que desee a las secciones de su Bash le indica que le guste.

Esto es lo que necesita saber: debe incluir toda la información del código de color entre los caracteres [y]s. Dentro de la etiqueta, debe comenzar con 033 [o e [para indicar a Bash que esta es información de color. Tanto 033 [como e [hacen lo mismo. e [es más corto, por lo que podría ser más cómodo de usar, pero usaremos 033 [aquí ya que coincide con lo que se usa de forma predeterminada. Al final de la etiqueta, debe terminar conm para indicar el final de una etiqueta de color.

Desglosando esto, aquí es cómo se verá cada etiqueta de color. La única diferencia es la información que agrega en lugar de COLOR para definir el color real:

 [ 033 [ COLOR  m ]

Bash le permite cambiar el color del texto en primer plano, agregue atributos como "negrita" o "subrayado" al texto y establezca un color de fondo.

Estos son los valores para el texto en primer plano:

  • Negro: 30
  • Azul: 34
  • Cian: 36
  • Verde: 32
  • Púrpura: 35
  • Rojo: 31
  • Blanco: 37
  • Amarillo: 33

Por ejemplo, dado que el texto morado es el código de color 32, usaría [ 033 [ 32 m ]para texto morado.

También puede especificar un atributo para el texto. Este atributo debe agregarse antes del número de color, separado por un punto y coma (;). El texto con estos atributos se verá diferente en diferentes emuladores de terminal.

Estos son los valores para atributos de texto:

  • Texto normal: 0
  • Texto en negrita o claro: 1 (depende del emulador de terminal)
  • Dim Texto: 2
  • Texto subrayado: 4
  • Texto parpadeante: 5 (Esto no funciona en la mayoría de los emuladores de terminal.)
  • Texto invertido: 7 (Esto invierte los colores de fondo y de fondo, por lo que vea texto negro sobre fondo blanco si el texto actual es texto blanco sobre fondo negro.)
  • Texto oculto: 8

No necesita incluir el atributo de texto normal. Eso es lo predeterminado, de todos modos.

Por ejemplo, dado que el texto rojo es el código 31 y el texto en negrita es el código 1, usaría [ 033 [ 1; 31 m ]para texto rojo en negrita.

También puede especificar un color de fondo, pero no puede agregar un atributo a un color de fondo.

Estos son los valores para colores de fondo:

  • Fondo negro: 40
  • Fondo azul: 44
  • Fondo cian: 46
  • Fondo verde: 42
  • Fondo morado: 45
  • Fondo rojo: 41
  • Fondo blanco: 47
  • Fondo amarillo: 43

Por ejemplo, como un fondo azul es el código 44, [ 033 [ 44 m ]especificaría un fondo azul.

Puede especificar el color de primer plano y el de fondo etiquetas. Por ejemplo, 42 representa un fondo verde y 31 representa texto rojo. Por lo tanto, para que el aviso predeterminado se convierta en texto rojo sobre fondo verde, usaría:

PS1 = " [ 033 [ 42  m ]  [ 033 [ 31  m ]  u @  h:  w  $ "

Simplemente especificamos un color de fondo único y luego un color de texto en primer plano aquí, que comienza al inicio del mensaje y se aplica a todo el texto en el prompt. Sin embargo, puede especificar tantas etiquetas de color como desee en la variable para colorear diferentes secciones de su mensaje de la forma que desee.

Los colores de fondo y de primer plano continúan el mensaje a menos que especifique el código de color 00 borre la información de color . También puede usar esta etiqueta dentro de la variable para restablecer el formato a su valor predeterminado en algún lugar de su solicitud. Por ejemplo, la siguiente línea terminaría con todos los colores antes del carácter $.

PS1 = " [ 033 [ 42  m ]  [ 033 [ 31  m ]  u @  h:  w \ [ 033 [ 00  m ]  $ "

Cómo configurar su nuevo aviso predeterminado

Una vez Has terminado de experimentar con los colores, deberías tener un mensaje de Bash que te guste en la sesión actual. Pero es probable que desee hacer que el nuevo aviso sea permanente para que se use automáticamente en todas sus sesiones de Bash.

Para ello, solo necesita cambiar el contenido de la variable PS1 en el archivo .bashrc, que vimos anteriormente.

Abra el archivo .bashrc en su editor de texto preferido, así:

nano ~ / .bashrc

Desplácese hacia abajo y ubique la sección PS1 =. Simplemente reemplace la variable predeterminada con su variable personalizada. Probablemente quieras dejar el$ {debian_chroot: + ($ debian_chroot)}bits solo, sin embargo, no aparecerán a menos que esté en un entorno chroot, de todos modos.

Ingrese su variable PS1 coloreada bajo elsi [" $ color_prompt "= yes]; luegolínea. Ingrese la variable sin colores debajo de la líneaelse.

Guarde el archivo y cierre su editor de texto. Por ejemplo, para guardar el archivo en nano, presione Ctrl + O, presione Entrar y luego presione Ctrl + X para salir.

La próxima vez que inicie un nuevo shell de Bash, por ejemplo, iniciando sesión en la terminal o al abrir una nueva ventana de terminal, verá su solicitud personalizada.


Cómo instalar Android en VirtualBox

Cómo instalar Android en VirtualBox

Si tienes ganas de probar Android pero no necesariamente quieres usar tu computadora para la tarea, la mejor opción es ejecutarlo en una máquina virtual usando VirtualBox. De hecho, es bastante fácil de configurar y le ofrecerá la experiencia completa de Android en cuestión de minutos. Hagamos esto. RELACIONADO: Cómo ejecutar Android en su computadora Necesitará un par de cosas para comenzar: VirtualBox : Descargue e instale VirtualBox si no usa Ya lo tienes: está disponible para Windows, MacOS y Linux.

(how-top)

Cómo ver o transmitir las Olimpiadas 2018 en línea (sin cable)

Cómo ver o transmitir las Olimpiadas 2018 en línea (sin cable)

A pesar de los avances en la tecnología de transmisión a través de los años, ver las Olimpiadas en cualquier cosa que no sea una TV con suscripción por cable sigue siendo una molestia . Siga leyendo mientras le mostramos cómo obtener su solución para los Juegos Olímpicos sin tener que registrarse en un plan de cable.

(how-top)