GNU/Linux >> Linux Esercitazione >  >> Linux

Simbolo di apice inverso (`) negli script della shell di Linux

Una delle caratteristiche più utili degli script di shell è il carattere di virgolette all'indietro, solitamente chiamato backtick (`) nel mondo Linux. Fai attenzione:questo non è il normale carattere di virgolette singole a cui sei abituato per le stringhe. Poiché non viene utilizzato molto spesso al di fuori degli script di shell, potresti non sapere nemmeno dove trovarlo sulla tastiera. Dovresti familiarizzare con esso perché è un componente cruciale di molti script di shell.

Suggerimento :Su una tastiera americana, di solito si trova sullo stesso tasto del simbolo della tilde ( ∼ ).

Il backtick consente di assegnare l'output di un comando della shell a una variabile. Anche se non sembra molto, è un elemento fondamentale nella programmazione degli script. Devi racchiudere l'intero comando della riga di comando con caratteri di backtick:

# testing=`date`

La shell esegue il comando all'interno dei backtick e assegna l'output alla variabile testing. Ecco un esempio di creazione di una variabile utilizzando l'output di un normale comando della shell:

$ cat myscript.sh
#!/bin/bash
# using the backtick character
testing=`date`
echo "The date and time are: $testing"
$

La variabile testing riceve l'output dal comando date e viene utilizzata nell'istruzione echo per visualizzarlo. L'esecuzione dello script di shell produce il seguente output:

$ chmod u+x myscript.sh
$ ./myscript.sh
The date and time are: Mon Jul 21 09:13:42 IST 2014
$

Non è poi così eccitante in questo esempio (potresti semplicemente inserire il comando nell'istruzione echo), ma una volta catturato l'output del comando in una variabile, puoi farci qualsiasi cosa.

Ecco un esempio popolare di come il backtick viene utilizzato per acquisire la data corrente e utilizzarla per creare un nome file univoco in uno script:

#!/bin/bash
# copy the /usr/bin directory listing to a log file
today=`date +%y%m%d`
ls /usr/bin -al > /tmp/log.$today

Alla variabile today viene assegnato l'output del comando data formattato. Questa è una tecnica comune utilizzata per estrarre informazioni sulla data per i nomi dei file di registro. Il formato +%y%m%d indica al comando date di visualizzare la data come anno, mese e giorno a due cifre:

$ date +%y%m%d
140721
$

Lo script assegna il valore a una variabile, che viene quindi utilizzata come parte di un nome file. Il file stesso contiene l'output reindirizzato di un elenco di directory. Dopo aver eseguito lo script, dovresti vedere un nuovo file nella directory /tmp:

$ ls -l /tmp/log.140721 
-rw-rw-r-- 1 geek geek 116755 Jul 21 09:21 /tmp/log.140721

Il file di registro viene visualizzato nella directory utilizzando il valore della variabile $today come parte del nome del file. Il contenuto del file di registro è l'elenco delle directory dalla directory /usr/bin. Se lo script viene eseguito il giorno successivo, il nome del file di registro sarà log.140722, creando così un nuovo file per il nuovo giorno.


Linux
  1. 8 Esempi di comandi Quick Date in Linux

  2. 10 esempi pratici di comandi Linux nm

  3. date Esempi di comandi in Linux

  4. Esempi di comandi chsh in Linux

  5. Scripting della shell Linux:numero esadecimale in stringa binaria

Spiegazione del comando sorgente su Linux

7 Esempi di comando Date in Linux

Spiegazione del comando di esportazione in Linux

Che cos'è Shebang negli script della shell di Linux?

Esempi di comandi data di Linux

12 Esempi utili di comandi data di Linux