Cómo personalizar el Bash Shell con shopt

Publicado: 2022-01-29
Un indicador de terminal en una computadora portátil Linux.
Fatmawati Achmad Zaenuri/Shutterstock

Si ajusta el comportamiento de su shell Bash con shopt , puede controlar más de 50 configuraciones. Le mostraremos cómo personalizar su sistema Linux de la forma que desee.

La tienda incorporada

El shopt incorporado es parte de todas las versiones del shell Bash, por lo que no es necesario instalar nada. El número de opciones disponibles en shopt ha aumentado constantemente a lo largo de los años. Por lo tanto, cuanto más antigua sea la versión de Bash que tenga, más corta será la lista de opciones de shopt .

Si algo parece no estar funcionando en su máquina, verifique la entrada de la página man para Bash y verifique que la opción esté disponible en su versión de shopt .

shopt todas las opciones de compra a continuación. También describimos cómo usarlo y compartimos algunos ejemplos. Desde allí, puede consultar la página de manual de Bash o el Manual de referencia de GNU Bash para ver si alguna de esas opciones suena útil o atractiva.

Algunas shopt compra están habilitadas de forma predeterminada y forman parte del comportamiento predeterminado de Bash. Puede habilitar una shopt de compra como un cambio a corto plazo a Bash. Luego volverá al comportamiento predeterminado cuando cierre el shell.

Anuncio publicitario

Sin embargo, si desea que un comportamiento modificado esté disponible cada vez que inicie un shell Bash, puede hacer que los cambios sean permanentes.

Las opciones de la tienda

Hay shopt opciones de compra. Si usa el comando shopt sin ninguna opción, las enumera. Si canalizamos la salida a través del comando wc , contará las líneas, palabras y caracteres por nosotros. Debido a que cada shopt de compra está en su propia línea, el número de líneas es el número de opciones.

Tecleamos lo siguiente:

 tienda | WC 

Para ver todas las opciones, podemos canalizar el resultado a través del comando de column para mostrar los nombres de las opciones en columnas, o podríamos canalizarlo en less .

Tecleamos lo siguiente:

 tienda | columna 

Encontrar shopt en el Manual de Linux

La sección sobre shopt y sus opciones se encuentra en la sección Bash del manual de Linux. La sección Bash tiene más de 6000 líneas. Puede encontrar la descripción de shopt con mucho desplazamiento, o simplemente puede buscarla en el manual.

Para hacerlo, abra el manual en la sección Bash:

 golpe de hombre 

Anuncio publicitario

En el manual, presione / para iniciar una búsqueda. Escriba lo siguiente y luego presione Entrar:

 asoc_expand_once 

El inicio de la shopt de opciones de compra aparecerá en la ventana del man .

RELACIONADO: Cómo usar el comando man de Linux: secretos y conceptos básicos ocultos

Opciones de armado y desarmado

Para configurar y desactivar shopt , use los siguientes comandos:

  • -s : Establecer o habilitar.
  • -u : Desarmar o deshabilitar.

Debido a que algunas opciones están habilitadas de forma predeterminada, también es útil verificar qué opciones están activadas. Puede hacerlo con las opciones -s y -u sin usar un nombre de opción. Esto hace que shopt enumere las opciones que están activadas y desactivadas.

Escribe lo siguiente:

 comprar -s 

 comprar -u | columna 

Puede usar una shopt compra sin los comandos -s o -u para ver el estado activado o desactivado de cada opción.

Por ejemplo, podemos escribir lo siguiente para verificar la configuración de la opción histverify :

 comprar histverificar

Podemos escribir lo siguiente para activarlo:

 shopt-s histverify
Anuncio publicitario

Luego, podemos teclear lo siguiente para comprobarlo de nuevo:

 comprar histverificar 

La opción histverify cambia cómo funciona un aspecto del comando de history . Por lo general, si le pide al history que repita un comando haciendo referencia a él por número, como !245 , el comando se recupera del historial de comandos y se ejecuta de inmediato.

Si prefiere revisar un comando para asegurarse de que es el que esperaba y editarlo, si es necesario, escriba lo siguiente para activar la opción shopt histverify :

 !245 

El comando se recupera y se presenta en la línea de comandos. Puede eliminarlo, editarlo o ejecutarlo presionando Enter.

RELACIONADO: Cómo usar el comando history en Linux

La opción autocd

Con la opción autocd activada, si escribe el nombre de un directorio en la línea de comando y presiona Intro, se tratará como si hubiera escrito cd delante de él.

Escribimos lo siguiente para activar la opción autocd :

 shopt-s autocd

Luego, escribimos el nombre de un directorio:

 Documentos 

La opción cdspell

Cuando la opción cdspell está activada, Bash corregirá automáticamente los errores ortográficos simples y los errores tipográficos en los nombres de los directorios.

Escribimos lo siguiente para configurar la opción cdspell :

 shopt -s cdspell
Anuncio publicitario

Para intentar cambiar a un directorio en minúsculas que debería tener una letra inicial en mayúscula, tecleamos lo siguiente:

 documentos de cd

Luego, podemos escribir lo siguiente para probar un nombre de directorio con una "t" extra en su nombre:

 cd ../Imágenes 

Bash cambia en cada directorio, independientemente de los errores ortográficos.

La opción xpg_echo

Cuando la opción xpg_echo está activada, el comando echo obedecerá a los caracteres escapados, como \n para una nueva línea y \t para una tabulación horizontal.

Primero, escribimos lo siguiente para asegurarnos de que la opción esté configurada:

 tienda -s xpg_echo
Anuncio publicitario

Luego incluimos \n en una cadena que vamos a pasar a echo :

 echo "Esta es la línea uno\nEsta es la línea dos" 

El carácter de nueva línea escapado fuerza un salto de línea en la salida.

Esto produce el mismo comportamiento que la opción de echo -e (habilitar interpretación de escape), pero xpg_echo permite que sea la acción predeterminada.

RELACIONADO: Cómo usar el comando Echo en Linux

La opción dotglob

La opción dotglob debe tratarse con un poco de precaución. Permite que los archivos y directorios que comienzan con un punto ( . ) se incluyan en expansiones de nombres o "globbing". Estos se denominan "archivos de puntos" o "directorios de puntos" y generalmente están ocultos. La opción dotglob ignora el punto al comienzo de sus nombres.

Primero, haremos una búsqueda de archivos o directorios que terminen en “geek” escribiendo lo siguiente:

 ls * friki

Se encuentra un archivo y se enumera. Luego, activaremos la opción dotglob escribiendo lo siguiente:

 shopt -s dotglob
Anuncio publicitario

Emitimos el mismo comando ls para buscar archivos y directorios que terminen en "geek":

 ls * friki 

Esta vez se encuentran y enumeran dos archivos, uno de los cuales es un archivo de puntos. Debe tener cuidado con rm y mv cuando tiene activada la opción dotglob .

La opción nocaseglob

La opción nocaseglob es similar a la opción dotglob , excepto que nocaseglob hace que las diferencias en mayúsculas y minúsculas en los nombres de archivos y directorios se ignoren en las expansiones de nombres.

Escribimos lo siguiente para buscar archivos o directorios que comiencen con “cómo”:

 es como*

Se encuentra un archivo y se enumera. Escribimos lo siguiente para activar la opción nocaseglob :

 shopt -s nocaseglob

Luego, repetimos el comando ls :

 es como* 

Se encuentran dos archivos, uno de los cuales contiene letras mayúsculas.

Hacer cambios permanentes

Los cambios que hemos realizado solo durarán hasta que cerremos el shell Bash actual. Para hacerlos permanentes en diferentes sesiones de shell, debemos agregarlos a nuestro archivo ".bashrc".

Anuncio publicitario

En su directorio de inicio, escriba el siguiente comando para abrir el archivo ".bashrc" en el editor de texto gráfico Gedit (o cámbielo según corresponda para usar el editor que prefiera):

 gedit .bashrc

El editor de gedit se abrirá con el archivo ".bashrc" cargado. Verá que ya hay algunas entradas de shopt .

El editor de gedit con .bashrc cargado y las opciones de compra resaltadas.

También puede agregar sus propias shopt compra aquí. Cuando los haya agregado, guarde los cambios y cierre el editor. Ahora, cada vez que abra un nuevo shell Bash, sus opciones se configurarán automáticamente.

Opciones hasta donde alcanza la vista

Es cierto que el comando shopt tiene muchas opciones, pero no tienes que enfrentarte a todas a la vez, si es que alguna vez lo haces. Como hay tantos, es probable que algunos no sean de su interés.

Por ejemplo, hay un grupo que obliga a Bash a operar de manera compatible con versiones anteriores específicas. Eso podría ser útil para alguien, pero es un caso bastante especializado.

Anuncio publicitario

Puede consultar la página del manual de Bash o el Manual de referencia de GNU Bash. Decida qué opciones marcarán la diferencia para usted y luego experimente con ellas. Solo tenga cuidado con las opciones que afectan la forma en que se expanden los nombres de archivos y directorios. Pruébelos con un comando benigno, como ls , hasta que se sienta cómodo con ellos.