Come personalizzare la shell bash con shopt

Contenuti

Un prompt del terminale su un laptop Linux.

Se regoli il comportamento della tua shell Bash con shopt, può controllare più di 50 configurazioni. Ti mostreremo come adattare il tuo sistema Linux a tuo piacimento.

Il negozio integrato

il shopt integrato fa parte di tutte le versioni del Bash shell, quindi non è necessario installare nulla. Il numero di alternative disponibili in shopt è costantemente aumentato nel corso degli anni. Perché, più vecchia è la versione di Bash, più breve è l'elenco di shopt le alternative saranno.

Se qualcosa sembra non funzionare sulla tua macchina, controlla il man voce di pagina per Bash e verifica che l'opzione sia disponibile nella tua versione di shopt.

Copriamo tutto shopt opzioni di seguito. Descriviamo anche come usarlo e condividiamo alcuni esempi. Da li, Puoi fare riferimento alla pagina man di Bash o Manuale di riferimento di GNU Bash per vedere se qualcuna di queste opzioni sembra utile o attraente.

Alcuni shopt Le alternative sono abilitate per impostazione predefinita e fanno parte del comportamento predefinito di Bash. Puoi abilitare un shopt opzione come passaggio a breve termine a bash. In seguito tornerà al comportamento predefinito quando chiudi la shell.

Nonostante questo, se vuoi che un comportamento modificato sia disponibile ogni volta che avvii una shell bash, può rendere permanenti le modifiche.

Alternative di acquisto

Ci sono 53 shopt opzioni. Se usi il shopt comando senza alcuna opzione, li elenca. Se canaliamo l'uscita attraverso il wc comando, lo farà conta le linee, parole e caratteri per noi. Perché ciascuno shopt L'opzione è sulla propria linea, il numero di righe è il numero di alternative.

Scriviamo quanto segue:

negozi | WC

Per vedere tutte le alternative, possiamo incanalare l'output attraverso il column comando per visualizzare i nomi delle opzioni nelle colonne, o potremmo incanalarlo su less.

Scriviamo quanto segue:

negozi | colonna

Trova shopt nel Manuale di Linux

La sezione che discute shopt e le sue opzioni sono nella sezione Bash del manuale di Linux. La sezione Bash ha più di 6.000 Linee. Puoi trovare la descrizione di shopt con molto spostamento, oppure puoi semplicemente cercare nel manuale.

Per farlo, apri il manuale nella sezione Bash:

uomo bash

Nel manuale, premere / per iniziare una ricerca. Digita quanto segue e poi premi Invio:

assoc_expand_once

L'inizio del shoptLa sezione delle alternative apparirà nel man finestra.

IMPARENTATO: Come usare il comando man di Linux: segreti nascosti e nozioni di base

Opzioni di inserimento e disinserimento

Da montare e smontare shopt opzioni, usa i seguenti comandi:

  • -S: Determina o abilita.
  • -tu: Disarmato o disabilitato.

Perché alcune opzioni sono abilitate per impostazione predefinita, è utile anche verificare quali opzioni sono attivate. Puoi farlo con lui -s e -u opzioni senza utilizzare un nome di opzione. Questo causa shopt per elencare le alternative abilitate e disabilitate.

Scrivi quanto segue:

negozi -s

negozi -u | colonna

Puoi usare a shopt opzione senza -s oh -u comandi per visualizzare lo stato di attivazione o disattivazione di ciascuna opzione.

Come esempio, possiamo scrivere quanto segue per verificare la configurazione del histverify opzione:

negozio histverify

Possiamo scrivere quanto segue per attivarlo:

shopt -s histverify

Successivamente, possiamo scrivere quanto segue per controllarlo di nuovo:

negozio histverify

il histverify L'opzione cambia il modo in cui un aspetto del history il comando funziona. Generalmente, se chiedi history ripetere un comando facendo riferimento ad esso per numero, Che cosa !245, il comando viene recuperato dalla cronologia dei comandi e viene eseguito immediatamente.

Se preferisci rivedere un comando per assicurarti che sia quello che ti aspettavi e modificarlo, se richiesto, digitare quanto segue per configurare il shopt histverify opzione per attivare:

!245

Il comando viene recuperato e presentato sulla riga di comando. Puoi rimuoverlo, modificalo o eseguilo premendo Invio.

IMPARENTATO: Come usare il comando cronologia in Linux

L'opzione autocd

Con il autocd opzione attivata, se digiti il ​​nome di una directory sulla riga di comando e premi Invio, sarà trattato come se avessi scritto cd davanti a quello.

Scriviamo quanto segue per accendere il autocd opzione:

shopt -s autocd

Successivamente, scriviamo il nome di una directory:

Documenti

L'opzione cdspell

Quando il cdspell è attivato, Bash correggerà automaticamente semplici errori di ortografia e refusi nei nomi delle directory.

Scriviamo quanto segue per configurare il cdspell opzione:

shopt -s cdspell

Per provare a passare a una directory minuscola che dovrebbe avere una lettera maiuscola iniziale, scriviamo quanto segue:

documenti cd

Successivamente, podemos escribir lo siguiente para probar un nombre de directorio con una “T” adicional en su nombre:

cd ../Immagini

Bash cambia in ogni directory, indipendentemente dagli errori di ortografia.

L'opzione xpg_echo

Quando il xpg_echo è attivato, il comando echo obbedirà ai caratteri di escape, Che cosa n per nuova linea e t per flangia orizzontale.

Primo, scriviamo quanto segue per assicurarci che l'opzione sia impostata:

negozi -s xpg_echo

Più tardi includiamo n in una catena stiamo andando a echo:

eco "Questa è la riga uno Questa è la riga due"

Il carattere escape newline forza un newline in uscita.

Questo produce lo stesso comportamento di -e (consentire l'interpretazione di fuga) echo opzione, ma xpg_echo lo rende l'azione predefinita.

IMPARENTATO: Come usare il comando Echo in Linux

L'opzione dotglob

il dotglob L'opzione dovrebbe essere trattata con un po' di cautela. Abilita file e directory che iniziano con un punto (.) para ser incluido en expansiones de nombres oglobbing”. Estos se denominanarchivos de puntos” oh “directorios de puntos” e, generalmente, sono nascosti. il dotglob L'opzione ignora il punto all'inizio dei loro nomi.

Primo, haremos una búsqueda de archivos o directorios que terminen en “La virgoletta singola o l'apostrofo della parola” scrivendo quanto segue:

ls *geek

Un file è stato trovato ed elencato. Quindi, accenderemo il dotglob opzione digitando quanto segue:

shopt -s dotglob

Emettiamo lo stesso ls comando para buscar archivos y directorios que terminen en “La virgoletta singola o l'apostrofo della parola”:

ls *geek

Questa volta vengono trovati ed elencati due file, uno dei quali è un file di punti. Devi stare attento con rm e mv quando hai il dotglob opzione attivata.

L'opzione nocaseglob

il nocaseglob L'opzione è equivalente a dotglob opzione, tranne nocaseglob fa sì che le differenze di lettere maiuscole e minuscole nei nomi di file e directory vengano ignorate nelle espansioni dei nomi.

Escribimos lo siguiente para buscar archivos o directorios que comiencen con “Mi scusi”:

ls how*

Un file è stato trovato ed elencato. Scriviamo quanto segue per accendere il nocaseglob opzione:

shopt -s nocaseglob

Successivamente, repetimos el ls comando:

ls how*

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

Apportare modifiche permanenti

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

il gedit El editor se abrirá con el archivo “.bashrc” caricato. 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. Ora, 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 Il comando ha molte opzioni, ma non è necessario gestirli tutti contemporaneamente, se mai lo fa. Visto che ce ne sono così tanti, probabilmente ce ne sono alcune che non ti interessano.

Come esempio, ce ne sono molti che costringono Bash a funzionare in uno specifico modo compatibile con le versioni precedenti. Potrebbe essere utile a qualcuno, ma è un caso abbastanza specifico.

Puoi dare un'occhiata alla bash pagina man oh Manuale di riferimento di GNU Bash. Decidi quali opzioni faranno la differenza per te e poi sperimentale. Fai solo attenzione alle alternative che influiscono sul modo in cui i nomi di file e directory vengono espansi. Mettili alla prova con un comando benigno, Che cosa ls, finché non ti senti a tuo agio con loro.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.