Cómo personalizar el Bash Shell con shopt

Contenidos

Un indicador de terminal en una computadora portátil con Linux.

Si ajusta el comportamiento de su shell Bash con shopt, puede controlar más de 50 configuraciones. Le mostraremos cómo adaptar su sistema Linux a su gusto.

El shopt incorporado

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

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

Cubrimos todos los shopt opciones a continuación. Además describimos cómo usarlo y compartimos algunos ejemplos. Desde allí, puede consultar la página de manual de Bash o Manual de referencia de GNU Bash para ver si alguna de esas opciones suena útil o atractiva.

Algunos shopt Las alternativas están habilitadas de forma predeterminada y forman parte del comportamiento predeterminado de Bash. Puede habilitar un shopt opción como un cambio a corto plazo a Bash. Posteriormente volverá al comportamiento predeterminado cuando cierre el shell.

A pesar de esto, si desea que un comportamiento modificado esté disponible cada vez que inicie un shell Bash, puede hacer que los cambios sean permanentes.

Las alternativas de compra

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

Escribimos lo siguiente:

shopt | wc

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

Escribimos lo siguiente:

shopt | column

Hallar shopt en el Manual de Linux

La sección que discute shopt y sus opciones están en la sección Bash del manual de Linux. La sección Bash tiene más de 6.000 líneas. Puede hallar la descripción de shopt con mucho desplazamiento, o simplemente puede buscarlo en el manual.

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

man bash

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

assoc_expand_once

El inicio de la shoptLa sección de alternativas aparecerá en el man ventana.

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

Opciones de armado y desarmado

Para armar y desarmar shopt opciones, use los siguientes comandos:

  • -s: Determinar o habilitar.
  • -u: Desarmado o deshabilitado.

Debido a que algunas opciones están habilitadas de forma predeterminada, además es útil verificar qué opciones están activadas. Puedes hacerlo con el -s y -u opciones sin utilizar un nombre de opción. Esto causa shopt para enumerar las alternativas que están activadas y desactivadas.

Escriba lo siguiente:

shopt -s

shopt -u | column

Puedes utilizar un shopt opción sin la -s o -u comandos para ver el estado de encendido o apagado de cada opción.

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

shopt histverify

Podemos escribir lo siguiente para activarlo:

shopt -s histverify

Posteriormente, podemos escribir lo siguiente para verificarlo nuevamente:

shopt histverify

los histverify La opción cambia la forma en que un aspecto de la history el comando opera. Por lo general, si preguntas history para repetir un comando haciendo referencia a él por número, como !245, el comando se recupera del historial de comandos y se ejecuta inmediatamente.

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

!245

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

RELACIONADO: Cómo utilizar el comando history en Linux

La opción autocd

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

Escribimos lo siguiente para encender el autocd opción:

shopt -s autocd

Posteriormente, escribimos el nombre de un directorio:

Documents

La opción cdspell

Cuando el 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 el cdspell opción:

shopt -s cdspell

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

cd documents

Posteriormente, podemos escribir lo siguiente para probar un nombre de directorio con una «t» adicional en su nombre:

cd ../Picttures

Bash cambios en cada directorio, sin tener en cuenta los errores ortográficos.

La opción xpg_echo

Cuando el xpg_echo está activada, el comando echo obedecerá a los caracteres de escape, como n para nueva línea y t para pestaña horizontal.

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

shopt -s xpg_echo

Posteriormente incluimos n en una cadena vamos a pasar a echo:

echo "This is line onenThis is line two"

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

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

RELACIONADO: Cómo utilizar el comando Echo en Linux

La opción dotglob

los dotglob La opción debe tratarse con un poco de precaución. Posibilita archivos y directorios que comienzan con un punto (.) para ser incluido en expansiones de nombres o «globbing». Estos se denominan «archivos de puntos» o «directorios de puntos» y, por lo general, están ocultos. los dotglob La opción 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 *geek

Se encuentra y se enumera un archivo. Entonces, encenderemos el dotglob opción escribiendo lo siguiente:

shopt -s dotglob

Emitimos lo mismo ls comando para buscar archivos y directorios que terminen en «geek»:

ls *geek

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

La opción nocaseglob

los nocaseglob La opción es equivalente a la dotglob opción, excepto nocaseglob hace que las diferencias en letras 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»:

ls how*

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

shopt -s nocaseglob

Posteriormente, repetimos el ls mando:

ls how*

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 que sean permanentes en diferentes sesiones de shell, debemos agregarlos a nuestro archivo «.bashrc».

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 en consecuencia para utilizar el editor que prefiera):

gedit .bashrc

los gedit El editor se abrirá con el archivo «.bashrc» cargado. Verás algunos shopt las entradas ya están en él.

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

Puedes agregar el tuyo propio shopt opciones aquí además. Cuando los haya agregado, guarde los cambios y cierre el editor. Ahora, cada vez que abra un nuevo shell Bash, sus opciones estarán configuradas para usted.

Opciones hasta donde cumple la vista

Es verdad el shopt El comando tiene muchas opciones, pero no es necesario que las maneje todas al mismo tiempo, si es que alguna vez lo hace. Dado que hay tantos, es probable que haya algunos que no le interesen.

A modo de ejemplo, hay muchos que obligan a Bash a funcionar de forma compatible con versiones anteriores específicas. Eso podría ser útil para alguien, pero es un caso bastante específico.

Puedes revisar el Bash página man o Manual de referencia de GNU Bash. Decida qué opciones van a marcar la diferencia para usted y después experimente con ellas. Solo tenga cuidado con las alternativas que impactan 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.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.