Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo personalizar el Bash Shell con shopt

 

Un indicador de terminal en una computadora portátil 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

El shoptintegrado es parte de todas las versiones del  shell Bash, por lo que no es necesario instalar nada. El número de opciones disponibles en  shoptha 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 shoptserá la lista de opciones.

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

Cubrimos todas las  shoptopciones 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 shoptopciones están habilitadas de forma predeterminada y forman parte del comportamiento predeterminado de Bash. Puede habilitar una shoptopción como cambio a corto plazo en Bash. Luego volverá al comportamiento predeterminado cuando cierre el shell.

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 shopt

Hay 53 shoptopciones. Si usa el shoptcomando sin opciones, las enumera. Si canalizamos la salida a través del wccomando, contará las líneas, palabras y caracteres por nosotros. Dado que cada shoptopción está en su propia línea, el número de líneas es el número de opciones.

Escribimos lo siguiente:

shopt | baño

shopt |  wc en una ventana de terminal.

Para ver todas las opciones, podemos canalizar la salida a través del columncomando para mostrar los nombres de las opciones en columnas, o podemos canalizarlo less.

Escribimos lo siguiente:

shopt | columna

shopt |  columna en una ventana de terminal.

Encontrar shopt en el Manual de Linux

La sección que trata shopty sus opciones se encuentra en la sección Bash del manual de Linux. La sección Bash tiene más de 6.000 líneas. Puede encontrar la descripción de shoptcon mucho desplazamiento, o simplemente puede buscarla en el manual.

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

hombre bash

man bash en una ventana de terminal.

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

assoc_expand_once

Sección Bash del manual, con un término de búsqueda ingresado en la línea de comando en una ventana de terminal.

El inicio de la shoptsección de opciones aparecerá en la manventana.

El manual que muestra la sección de opciones shopt de la página del manual de Bash en una ventana de terminal.

Opciones de armado y desarmado

Para configurar y desarmar shoptopciones, use los siguientes comandos:

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

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-usin usar un nombre de opción. Esto hace shoptque se enumeren las opciones que están activadas y desactivadas.

Escriba lo siguiente:

shopt -s

shopt -s en una ventana de terminal.

shopt -u | columna

shopt -u |  columna en una ventana de terminal.

Puede utilizar una shoptopción sin los   comandos -s-upara ver el estado de encendido o apagado de cada opción.

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

shopt histverify

Podemos escribir lo siguiente para activarlo:

shopt -s histverify

Luego, podemos escribir lo siguiente para verificarlo nuevamente:

shopt histverify

shopt histverify en una ventana de terminal.

La histverifyopción cambia cómo historyopera un aspecto del comando. Por lo general, si solicita historyrepetir 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 activar la shopt histverifyopción:

! 245

! 245 en una ventana de terminal.

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

La opción autocd

Con la autocdopción activada, si escribe el nombre de un directorio en la línea de comando y presiona Entrar, se tratará como si lo hubiera escrito cddelante.

Escribimos lo siguiente para activar la autocdopción:

shopt -s autocd

Luego, escribimos el nombre de un directorio:

Documentos

shopt -s autocd en una ventana de terminal.

La opción cdspell

Cuando la cdspellopción 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 cdspellopció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:

documentos en cd

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

cd ../Imágenes

shopt -s cdspell en una ventana de terminal.

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

La opción xpg_echo

Cuando la xpg_echoopción está activada, el comando echo obedecerá a los caracteres de escape, como \npara la nueva línea y la \tpestaña horizontal.

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

shopt -s xpg_echo

Luego incluimos \nen una cadena a la que vamos a pasar echo:

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

shopt -s xpg_echo en una ventana de terminal.

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

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

La opción dotglob

La dotglobopción debe tratarse con un poco de precaución. Permite que los archivos y directorios que comienzan con un punto ( .) se incluyan en las expansiones de nombres o "globbing". Estos se denominan "archivos de puntos" o "directorios de puntos" y generalmente están ocultos. La dotglobopció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. Luego, activaremos la dotglobopción escribiendo lo siguiente:

shopt -s dotglob

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

ls * geek

ls * geek en una ventana de terminal.

Esta vez se encuentran y se enumeran dos archivos, uno de los cuales es un archivo de puntos. Debe tener cuidado con rmmvcuando tenga la dotglobopción activada.

La opción nocaseglob

La nocaseglobopción es similar a la dotglobopción, excepto que nocaseglobhace 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":

es como *

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

shopt -s nocaseglob

Luego, repetimos el lscomando:

es como *

Es cómo * en una ventana de terminal.

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 usar el editor que prefiera):

gedit .bashrc

El gediteditor se abrirá con el archivo ".bashrc" cargado. Verá que algunas shoptentradas ya están en él.

El editor gedit con .bashrc cargado y las opciones shopt resaltadas.

También puede agregar sus propias shoptopciones aquí. 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 alcanza la vista

Es cierto que el shoptcomando tiene muchas opciones, pero no es necesario que las maneje todas a la vez, si es que lo hace alguna vez. Dado que hay tantos, es probable que haya algunos que no le interesen.

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

Puede revisar la página de manual de Bash  o el Manual de referencia de GNU BashDecida qué opciones van a marcar 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.

Publicar un comentario

0 Comentarios