GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Backtick-Symbol (`) in Linux Shell Scripting

Eines der nützlichsten Merkmale von Shell-Skripten ist das niedrige Anführungszeichen, das in der Linux-Welt normalerweise Backtick (`) genannt wird. Seien Sie vorsichtig – dies ist nicht das normale einfache Anführungszeichen, das Sie für Zeichenfolgen verwenden. Da es außerhalb von Shell-Skripten nicht sehr oft verwendet wird, wissen Sie möglicherweise nicht einmal, wo Sie es auf Ihrer Tastatur finden können. Sie sollten sich damit vertraut machen, da es eine entscheidende Komponente vieler Shell-Skripte ist.

Hinweis :Auf einer US-Tastatur befindet es sich normalerweise auf derselben Taste wie das Tilde-Symbol ( ∼ ).

Mit dem Backtick können Sie die Ausgabe eines Shell-Befehls einer Variablen zuweisen. Dies scheint zwar nicht viel zu sein, ist aber ein wichtiger Baustein in der Skriptprogrammierung. Sie müssen den gesamten Befehlszeilenbefehl mit Backtick-Zeichen umgeben:

# testing=`date`

Die Shell führt den Befehl innerhalb der Backticks aus und weist die Ausgabe der Variablen testing zu. Hier ist ein Beispiel für das Erstellen einer Variablen mit der Ausgabe eines normalen Shell-Befehls:

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

Die Variable testing empfängt die Ausgabe des date-Befehls und wird in der echo-Anweisung verwendet, um sie anzuzeigen. Das Ausführen des Shell-Skripts erzeugt die folgende Ausgabe:

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

Das ist in diesem Beispiel nicht besonders aufregend (Sie könnten den Befehl genauso gut einfach in die echo-Anweisung einfügen), aber sobald Sie die Befehlsausgabe in einer Variablen erfasst haben, können Sie alles damit machen.

Hier ist ein beliebtes Beispiel dafür, wie der Backtick verwendet wird, um das aktuelle Datum zu erfassen und ihn zum Erstellen eines eindeutigen Dateinamens in einem Skript zu verwenden:

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

Der Today-Variable wird die Ausgabe des formatierten Datumsbefehls zugewiesen. Dies ist eine gängige Technik, die verwendet wird, um Datumsinformationen für Protokolldateinamen zu extrahieren. Das Format +%y%m%d weist den Datumsbefehl an, das Datum als zweistelliges Jahr, Monat und Tag anzuzeigen:

$ date +%y%m%d
140721
$

Das Skript weist den Wert einer Variablen zu, die dann als Teil eines Dateinamens verwendet wird. Die Datei selbst enthält die umgeleitete Ausgabe einer Verzeichnisliste. Nachdem Sie das Skript ausgeführt haben, sollten Sie eine neue Datei im /tmp-Verzeichnis sehen:

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

Die Protokolldatei wird im Verzeichnis mit dem Wert der $today-Variablen als Teil des Dateinamens angezeigt. Der Inhalt der Protokolldatei ist die Verzeichnisliste aus dem Verzeichnis /usr/bin. Wenn das Skript am nächsten Tag ausgeführt wird, lautet der Protokolldateiname log.140722, wodurch eine neue Datei für den neuen Tag erstellt wird.


Linux
  1. 8 Beispiele für schnelle Datumsbefehle in Linux

  2. 10 praktische Beispiele für Linux-nm-Befehle

  3. date-Befehlsbeispiele in Linux

  4. chsh-Befehlsbeispiele in Linux

  5. Linux:Datum über die Befehlszeile festlegen

Quellbefehl unter Linux erklärt

7 Beispiele für Datumsbefehle in Linux

Exportbefehl in Linux erklärt

Was ist Shebang in Linux Shell Scripting?

Beispiele für Linux-Datumsbefehle

12 Nützliche Beispiele für Linux-Datumsbefehle