GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare le espansioni della shell per generare token della shell in Linux

Espansioni della shell

Mentre si lavora in una shell, gli insiemi o gli intervalli di informazioni vengono spesso ripetuti. L'espansione della shell consente di generare un gran numero di token della shell utilizzando sintassi compatte. L'espansione viene eseguita sulla riga di comando dopo che il comando è stato suddiviso in token. Tra le molte espansioni disponibili, il nome del percorso, il nome del file e le espansioni delle parentesi sono spiegati più avanti.

Espansione del nome del percorso

L'espansione del percorso semplifica le modifiche alla posizione all'interno della gerarchia di directory. L'espansione del percorso include:
– La tilde (~) carattere, che rappresenta il percorso assoluto della directory home dell'utente corrente
– Il carattere tilde (~) con un nome utente, che rappresenta la directory home dell'utente specificato
– Il trattino ( -) carattere, che rappresenta la directory di lavoro precedente

Nota :il carattere tilde (~) è disponibile in tutte le shell eccetto la shell Bourne.

Considera i seguenti esempi per ciascuno dei caratteri di espansione:
1. Cambia le directory in dir1 usando il carattere tilde (~).

$ cd ~/dir1
$ pwd 
/home/user/dir1/

2. Modificare le directory nella directory home dell'utente utilizzando il carattere tilde (~) seguito da un nome utente.

$ cd ~user
$ pwd 
/home/user

3. Passare dalla directory user a quella tmp usando il carattere di espansione –.

$ cd
$ pwd
/home/user
$ cd /tmp
$ pwd
/tmp
$ cd -
/export/home/user1
$ cd -
/tmp

Espansione nome file

Le espansioni dei nomi dei file sono:

  • Il carattere asterisco (*)
  • Il carattere punto interrogativo (?)
  • Le parentesi quadre ([]) caratteri

1. Asterisco (*) Carattere

Il carattere di espansione asterisco (*) è anche chiamato carattere jolly e rappresenta zero o più caratteri, ad eccezione del punto iniziale (.) di un file nascosto. Ad esempio, elenca tutti i file e le directory che iniziano con la lettera f seguita da zero o più altri caratteri.

$ ls f*
file.1 file.2 file.3 file4

Un altro esempio consiste nell'elencare tutti i file e le directory che terminano con il numero 3, preceduto da zero o più caratteri.

$ ls *3
file.3 file3

2. Punto interrogativo (?) Carattere

Il carattere del punto interrogativo (?) è anche chiamato carattere jolly e rappresenta qualsiasi singolo carattere eccetto il punto iniziale (.) di un file nascosto. Ad esempio, elenca tutti i file e le directory che iniziano con la stringa dir e seguiti da un altro carattere.

 $ ls dir?
dir1:
coffees fruit trees
dir2:
beans notes recipes

Se nessun file corrisponde a una voce che utilizza il carattere punto interrogativo (?), viene visualizzato un messaggio di errore.

$ ls z?
z?: No such file or directory

3. Parentesi quadre ([]) Caratteri

La parentesi quadra ([] ) i caratteri rappresentano un insieme o un intervallo di caratteri per una singola posizione di carattere.
– Un insieme di caratteri è un numero qualsiasi di caratteri specifici, ad esempio [acb]. I personaggi in un set non devono necessariamente essere in qualsiasi ordine. Ad esempio, [abc] è uguale a [cab].
– Un intervallo di caratteri è una serie di caratteri ordinati.

  • Un intervallo elenca il primo carattere seguito da un trattino (-) e poi l'ultimo carattere, ad esempio [a–z] o [0–9].
  • Quando specifichi un intervallo, disponi i caratteri nell'ordine in cui desideri che appaiano nell'output.
  • Ad esempio, usa [A–Z] o [a–z] per cercare rispettivamente qualsiasi carattere alfabetico maiuscolo o minuscolo.

Ad esempio, elenca tutti i file e le directory che iniziano con le lettere da a a f.

$ ls [a-f]*
brands    dante_1    file.1    file2    file4 
celery    feathers    file1    file.3   fruit 
dante    feathers_6    file.2    file3     fruit2

Ad esempio, elenca tutti i file e le directory che iniziano con le lettere fo p.

$ ls [fp]*
perm    file.1    file.2    file.3    file4    fruit2
feathers_6   file1    file2     file3     fruit

L'espansione del tutore

L'espansione parentesi graffa {} è un meccanismo mediante il quale possono essere generate stringhe arbitrarie. I modelli da espandere tra parentesi graffe assumono la forma di un preambolo opzionale, seguito da una serie di stringhe separate da virgole o da un'espressione di sequenza tra una coppia di parentesi graffe, seguita da un postscript opzionale. Il preambolo "a" è preceduto da ogni stringa contenuta tra parentesi graffe e il poscritto "e" viene quindi aggiunto a ciascuna stringa risultante, espandendosi da sinistra a destra.

$ echo a{d,c,b}e
ade ace abe


Linux
  1. Come usare BusyBox su Linux

  2. Come uso cron in Linux

  3. Come utilizzare Advanced rsync per backup Linux di grandi dimensioni

  4. Come cambiare la shell in Linux

  5. Come usare gli alias di shell in Linux

Come utilizzo Cockpit per la gestione del server Linux di casa

Come controllare le porte di ascolto in Linux (porte in uso)

Come utilizzare il comando Declare in Linux Bash Shell

Come installare e utilizzare ZSH Shell in Linux

Come installare e utilizzare Nu Shell su Linux

Come utilizzare Linux Bash Shell in Windows 10?