{"id":2647,"date":"2023-12-27T08:53:21","date_gmt":"2023-12-27T08:53:21","guid":{"rendered":"https:\/\/myvlcsys.com\/?p=2647"},"modified":"2023-12-27T08:53:31","modified_gmt":"2023-12-27T08:53:31","slug":"linux-personalizar-el-prompt-de-shell-bash","status":"publish","type":"post","link":"https:\/\/myvlcsys.com\/?p=2647","title":{"rendered":"LINUX: Personalizar el prompt de Shell Bash."},"content":{"rendered":"<h2>\u00bfQu\u00e9 es el Prompt de Linux?<\/h2>\n<p><strong>El prompt en la shell de Linux<\/strong> es la informaci\u00f3n o el s\u00edmbolo que se encuentra antes del cursor, es decir donde empezamos a escribir los comandos que ingresamos a la shell. En cada distribuci\u00f3n de Linux este viene por defecto de una forma diferente, y dentro de la misma distribuci\u00f3n los usuarios suelen personalizar el prompt de muchas maneras.&nbsp; En nuestro caso, para un usuario limitado de sistema, nos lo muestra de la siguiente forma:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"788\" height=\"50\" src=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_.png\" alt=\"\" class=\"wp-image-2653\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_.png 788w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_-300x19.png 300w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_-768x49.png 768w\" sizes=\"(max-width: 788px) 100vw, 788px\" \/><\/figure>\n\n\n\n<p>En el anterior ejemplo vemos que la muestra el usuario \u00abmyvclsys\u00bb que es la informaci\u00f3n que muestra antes del s\u00edmbolo de la \u00ab@\u00bb y la nombre de host que es, \u00ablab-serv\u00bb,  en el que nos encontramos, antes del s\u00edmbolo \u00ab$\u00bb. Cuando aparece el s\u00edmbolo de \u00ab#\u00bb, representa que el usuario que ingresar\u00e1 los comandos es el usuario root. Como mostramos en el siguiente ejemplo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"795\" height=\"53\" src=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-6.png\" alt=\"\" class=\"wp-image-2654\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-6.png 795w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-6-300x20.png 300w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-6-768x51.png 768w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como personalizar el prompt de shell.<\/h2>\n\n\n\n<p>Para personalizar el prompt, necesitaremos utilizar las denominadas&nbsp;<strong>secuencias de escape<\/strong>.<br>Las&nbsp;<strong>secuencias de escape<\/strong>&nbsp;m\u00e1s com\u00fanmente utilizadas son las siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\\u :<\/strong>&nbsp;Nombre del usuario actual.<\/li><li><strong>\\h :<\/strong>&nbsp;Nombre del host hasta el primer punto (<strong>.<\/strong>), por ejemplo,&nbsp;<strong>orion<\/strong>&nbsp;del host&nbsp;<strong>orion.zeppelinux.es<\/strong>.<\/li><li><strong>\\H :<\/strong>&nbsp;Nombre del host completo.<\/li><li><strong>\\w :<\/strong>&nbsp;Path del directorio de trabajo actual.<\/li><li><strong>\\W :<\/strong>&nbsp;Nombre del directorio de trabajo actual.<\/li><li><strong>\\d :<\/strong>&nbsp;Fecha actual en formato (dia_semana mes d\u00eda, lun jul 27.<\/li><li><strong>\\t :<\/strong>&nbsp;Hora actual en formato 24 horas (HH:MM:SS).<\/li><li><strong>\\T :<\/strong>&nbsp;Hora actual en formato 12 horas (HH:MM:SS).<\/li><li><strong>\\@ :<\/strong>&nbsp;Hora actual en formato 12 horas (am\/pm).<\/li><li><strong>\\n :<\/strong>&nbsp;Nueva l\u00ednea.<\/li><li><strong>\\r :<\/strong>&nbsp;Retorno de carro (enter\/intro).<\/li><li><strong>\\s :<\/strong>&nbsp;Nombre de la shell.<\/li><li><strong>\\v :<\/strong>&nbsp;Versi\u00f3n de bash.<\/li><li><strong>\\V :<\/strong>&nbsp;Numero de la release de bash.<\/li><li><strong>\\! :<\/strong>&nbsp;N\u00famero en el historial del comando ejecutado.<\/li><li><strong>\\# :<\/strong>&nbsp;N\u00famero de comando de este comando.<\/li><li><strong>\\$ :<\/strong>&nbsp;Si se trada de un&nbsp;<strong>usuario normal<\/strong>, aparece un&nbsp;<strong>$<\/strong>. Si se trata del usuario&nbsp;<strong>root<\/strong>, aparece un&nbsp;<strong>#<\/strong>.<\/li><li><strong>\\\\ :<\/strong>&nbsp;Barra diagonal.<\/li><li><strong>\\[ :<\/strong>&nbsp;Inicio de una secuencia de caracteres no imprimibles.<\/li><li><strong>\\] :<\/strong>&nbsp;Fin de una secuencia de caracteres no imprimibles.<\/li><li><strong>Texto o car\u00e1cter:<\/strong>&nbsp;Escribimos el texto o car\u00e1cter que deseamos que aparezca sin la barra (<strong>\\<\/strong>)<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Personalizaci\u00f3n del prompt. Ejemplo pr\u00e1ctico.<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Hacer copia de seguridad del archivo que vamos a modificar, por si hubiera que restaurarlo en alg\u00fan momento:<\/li><\/ul>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">$ cp ~\/.bashrc ~\/.bashrc.back<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Editamos el archivo ~<strong>\/<\/strong>.bashrc:<\/li><\/ul>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">$ nano ~\/.bashrc<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Por defecto el prompt&nbsp;de nuestro sistema suele ser similar a este:<br><\/li><\/ul>\n\n\n\n<p>Para hacer pruebas de configuraci\u00f3n, sin afectar al prompt que tenemos actualmente configurado, podremos asignarle un valor a la variable PS1 de sistema y ver s\u00ed realmente es el resultado que esperamos. S\u00ed no son los resultados esperados, no pasa nada, los cambios no se guardan en el sistema.<\/p>\n\n\n\n<p>Veamos un ejemplo, el prompt de mi sistema es el siguiente:<br><br>Para modificarlo o personalizarlo, al final del archivo agregamos alguno de los c\u00f3digos siguientes, en funci\u00f3n de apariencia que queramos para nuestro&nbsp;prompt. Veamos algunos ejemplos:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"788\" height=\"50\" src=\"http:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_.png\" alt=\"\" class=\"wp-image-2653\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_.png 788w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_-300x19.png 300w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/prompt_-768x49.png 768w\" sizes=\"(max-width: 788px) 100vw, 788px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Vamos a realizar la primera prueba, ejecutando lo siguiente:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">export PS1= \u00abmi_prueba  >\u00bb<\/p>\n\n\n\n<p>Ahora el nuestro prompt tiene la siguiente forma: <\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/PS1mi_prueba.png\" alt=\"\" class=\"wp-image-2662\" width=\"843\" height=\"63\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/PS1mi_prueba.png 753w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/PS1mi_prueba-300x22.png 300w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/PS1mi_prueba-744x56.png 744w\" sizes=\"(max-width: 843px) 100vw, 843px\" \/><\/figure>\n\n\n\n<p>El cambio anterior s\u00f3lo afecta a la sesi\u00f3n actual y no se queda guardada en el sistema. Vamos a a crear una configuraci\u00f3n con las sentencias de escape vistas anteriormente. Por ejmplol podremos crear un prompt de la siguiente forma: <strong>usuario@host:~$<\/strong>, para lo que ejecutaremos la siguiente sentencia:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cambiar los colores del prompt:<\/h2>\n\n\n\n<p>El formato del comando que tenemos que usar es el siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background\">PS1=<strong>\"\\e[<\/strong><strong>40<\/strong><strong>;<\/strong><strong>0<\/strong><strong>;<\/strong><strong>32<\/strong><strong>m[\\u@\\h \\W]$ \"<\/strong><\/pre>\n\n\n\n<p>En este caso lo importante de la sintaxis es:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background\"><strong>\\e[<\/strong><strong>40<\/strong><strong>;<\/strong><strong>0<\/strong><strong>;<\/strong><strong>32<\/strong><strong>m<\/strong><\/pre>\n\n\n\n<p>Encontramos que hay tres n\u00fameros, separados por punto y coma.<\/p>\n\n\n\n<p>El primero de los n\u00fameros (en este caso 40) representa el color del fondo. Le sigue otro n\u00famero (en este caso el 0) que representa las caracter\u00edsticas del texto. Luego termina con el \u00faltimo n\u00famero (el 32) que esta en lugar del color del texto.<\/p>\n\n\n\n<p><strong>\u00bfQu\u00e9 colores podemos usar?<\/strong><\/p>\n\n\n\n<p>Estas son las variables que podemos modificar.<\/p>\n\n\n\n<p><strong>Las caracter\u00edsticas del texto:<\/strong><\/p>\n\n\n\n<p>0: texto normal<br>1: texto en negrita<br>3: texto subrayado<\/p>\n\n\n\n<p><strong>El color del texto:<\/strong><\/p>\n\n\n\n<p>30: negro<br>31: rojo<br>32: verde<br>33: amarillo<br>34: azul<br>35: violeta<br>36: cyan<br>37: blanco<\/p>\n\n\n\n<p><strong>Color del fondo:<\/strong><\/p>\n\n\n\n<p>40: negro<br>41: rojo<br>42: verde<br>43: amarillo<br>44: azul<br>45: violeta<\/p>\n\n\n\n<p>Por su parte el \u201c\/e\u201d y \u201cm\u201d que abren y cierran significa que estamos usando una secuencia de colores.<\/p>\n\n\n\n<p>El resto del comando ya lo le\u00edmos:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background\"><strong>PS1=\"\\e[37;0;45m[\\u@\\h \\W]$ \"<\/strong><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-8.png\" alt=\"\" class=\"wp-image-2668\" width=\"856\" height=\"47\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-8.png 797w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-8-300x17.png 300w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-8-768x42.png 768w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/figure>\n\n\n\n<p><strong>\\u@&nbsp;<\/strong>representa tu nombre\u2026 y as\u00ed, ya lo vimos m\u00e1s arriba. Esto se puede modificar si lo necesitamos. Pero volviendo a nuestro tema\u2026<\/p>\n\n\n\n<p>S\u00ed lo que deseamos hacer un cambio permanente hemos de modificar el siguiente archivo. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background\"><strong>.<\/strong>\/etc\/bash.bashrc<strong> <\/strong><\/pre>\n\n\n\n<p>Aqu\u00ed podemos observar una parte del fichero <strong>.<\/strong>\/etc\/bash.bashrc , que como hemos indicado podemos modificar para personalizar nuestro prompt. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-9.png\" alt=\"\" class=\"wp-image-2670\" width=\"843\" height=\"882\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-9.png 806w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-9-287x300.png 287w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/12\/image-9-768x803.png 768w\" sizes=\"(max-width: 843px) 100vw, 843px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es el Prompt de Linux? El prompt en la shell de Linux es la informaci\u00f3n o el s\u00edmbolo que se encuentra antes del cursor, es decir donde empezamos a&hellip; <\/p>\n","protected":false},"author":4,"featured_media":2066,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[55,30,10],"tags":[25,47,27,24],"class_list":["post-2647","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bash-script","category-comandos","category-linux","tag-linux","tag-myvlcsys","tag-sistemas","tag-terminal"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts\/2647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2647"}],"version-history":[{"count":15,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts\/2647\/revisions"}],"predecessor-version":[{"id":2673,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts\/2647\/revisions\/2673"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/media\/2066"}],"wp:attachment":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}