Cómo hacer que Bash sea mejor

Cómo hacer que Bash sea mejor
Bash tiene una configuración estándar simple que es excelente, pero es posible que desee más! Muchos usuarios de computadoras evitan la línea de comando, porque es difícil de usar. Este es un concepto erróneo. La línea de comando tiene una curva de aprendizaje, requiere algún conocimiento para comenzar. Sin embargo, los que conoces algunas cosas, es más rápido y a menudo más fácil. Después de aprender algunos comandos básicos, la habilidad absolutamente esencial es leer la documentación. Esto puede no sonar como una habilidad pero es. La razón es que los documentos son genéricos, no responderán a su pregunta específica, debe obtener la respuesta de la información que tiene. Cuando inicia su entorno, el sistema tiene archivos que controlan cuáles serán sus valores predeterminados en muchas aplicaciones se establecerán. Para Bash, tiene varios archivos que controlan esto. Estos archivos en una secuencia y solo si otros no existen.

Que puedes cambiar?

Un montón de cosas, pero los cambios que notará primero son los que establecen su aviso. También tienes alias y variables de entorno. Muchos de estos están configurados para asegurarse de usar las bibliotecas y archivos ejecutables correctos al ejecutar aplicaciones. Los archivos también controlan y agregan características al shell, un ejemplo es el historial. En Bash tiene un archivo de historial que contiene los últimos comandos que ha ingresado. Puede elegir si desea que el historial mantenga duplicados y qué tan grande se vuelve el archivo. Hay muchas más cosas que puedes ejecutar. Un buen ejemplo de servicios públicos está disponible en Bash-It.

Donde se almacena?

Esto parece una lista simple de algunos archivos que se ejecutan cuando comienza. Sin embargo, debido a la forma en que comienza la bash, hay algunas complicaciones. Una es que desea algunas configuraciones para el sistema y otras para cada vez que abre una carcasa. El archivo /etc /perfil se ejecuta durante el inicio de sesión, tenga en cuenta que a menudo llama /etc /perfil.d/* para establecer valores específicos. En Ubuntu, establece las rutas Snap, tanto para dónde están los binarios como donde XDG llama aplicaciones. Este archivo es en todo el sistema, así que no lo use para configuraciones personales. Para los archivos de todo el sistema también tiene etc/bash.BASHRC, este archivo se llama /etc /bashrc fuera de las distribuciones basadas en Debian. El administrador establece, con suerte sensato, predeterminados para todos los usuarios en el sistema. Si no está de acuerdo con esa configuración, puede anularlas en ~.BASHRC, para el usuario especial.

Sé que puedes ser usuario y administrador! El siguiente archivo que debe considerar es ~/.Perfil, esto se ejecuta en el inicio de sesión, no cuando se inicia el shell. También solo comienza si .Bashprofile o .Bashlogin no existe. La versión estándar verifica qué shell se ejecutará. Cuando el .El archivo de perfil se ejecuta, se inicia ~/.bashrc si existe. El ~/.El archivo BASHRC es donde debe configurar sus alias y otras configuraciones personales. Otros dos archivos son interesantes, ~/.bashlogout y ~/.inputRC, el primero se ejecuta en el inicio de sesión. Borra la consola, por defecto. Más interesante es el archivo inputRC. Aquí cambia los enlaces de claves y los trazos de clave. Puede establecer cómo editar en la línea de comando. El valor predeterminado es la edición de estilo emacs, pero puede cambiar eso al estilo VI.

Algunos ejemplos de cambios para hacer.

Actualice su mensaje ... Para que su aviso se vea más bonito o para transmitir más información, puede cambiar los valores de PS1. Primero, puede verificar qué valor ya tiene.

$ echo $ ps1

El resultado se ve un poco críptico a menos que lo haya configurado en una cadena. Intentalo:

$ Ps1 = "aviso genial!"

Esto no es muy útil, puede establecer valores que le informen sobre lo que está sucediendo en su sistema. Aquí hay una tabla corta de algunos valores:

\ u Nombre de usuario actual
\ H Nombre de host actual
\ W Directorio de trabajo actual
\s Nombre del caparazón
\ t Tiempo en formato de 24 horas

Como desafío, establezca su aviso para tener su nombre de usuario y nombre de host, marcado correctamente con los ampersand. También puede usar variables definidas por el sistema e incluso la salida de scripts. Establezca un esquema de color ... puede tener su salida en color y también tener diferentes colores para cada tipo de archivos. Primero, crea un aviso colorido. El color puede cambiar a lo largo del aviso. Para comenzar un nuevo color, agregue '\ e [x, ym' och stoppa Med '\ e [M. Aquí hay un ejemplo.

$ Ps1 = "\ e [0; 35m \ u@\ h \ e [m \ e [0; 32m \ d \ a \ e [m \ $>"

Umask, cómo funciona ... en el shell tiene una configuración llamada 'umask', establece cómo se establecen los permisos de archivos cuando los crea. El valor más común es 022. Esto hace que los archivos tengan permisos que permitan a los usuarios leer y escribir y todos los demás solo leer. De esta manera, debe cambiar los nuevos archivos de script a ejecutable como una acción separada. Esta es una forma segura de manejar archivos.

Definiciones de funciones ... también puede incorporar funciones, el formato de estas puede ser compatible con Posix o bash. Si planea cambiar entre conchas, busque cómo mantenerse cumpliendo. También puede ejecutar un script en el aviso.

#!/bin/bash
# lsbytesum: el número de bytes en una lista de directorio
TotalBytes = 0
para bytes en $ (ls -l | Grep "^ -" | Awk 'imprimir $ 5')
hacer
TotalBytes = $ TotalBytes+$ bytes
hecho
Totalmeg = $ (echo -e "\ n $ Totalbytes/1048576 \ nquit" | BC)
echo -n "$ totalmeg"

Si tiene el código anterior (crédito a TLDP), puede llamarlo en su aviso (PS1). Para configurarlo, agregue esto a su bashrc.

$ Ps1 = "[\ u@\ h: \ w (\ $ (lsbytes) mb)] \ $"

Puedes, por supuesto, ejecutarlo manualmente para ver si te gusta primero. No hay colores en este estilo, debes combinar muchas configuraciones diferentes.

Una vez que haya decidido lo que desea, debe poner los valores en su .archivo bashrc.

Conclusión

Bash tiene muchas características que puede usar para que su entorno funcione mejor. Puede hacer muchos trabajos más rápido si ha aprendido a ser eficiente. Una forma es crear alias, otra es crear sus propios scripts. Puede ser muy beneficioso para su eficiencia, si se toma el tiempo para pasar la barrera inicial.