Das „Bash“-Skript ist eine reine Textdatei, die mehrere Befehle zum Ausführen verschiedener Aufgaben auf dem System enthält. Das Bash-Skript wird Zeile für Zeile ausgeführt und gibt die Ausgabe sofort zurück, wenn in den Befehlen kein Syntax- oder logischer Fehler vorliegt.
Bei großen Skripten, z. B. tausend Zeilen Code/Befehle, dauert die Ausführung des Bash-Skripts lange. Die Gesamtzeit, in der das Bash-Skript ausgeführt wird, wird als seine Ausführungszeit bezeichnet. Dies kann effektiv überprüft werden, indem die Start- und Endzeiten eines Bash-Skripts subtrahiert werden.
In diesem Beitrag werden alle möglichen Methoden beschrieben, um die Ausführungszeit eines Bash-Skripts effektiv zu ermitteln.
- Methode 1: Verwenden des Befehls „date“.
- Methode 2: Verwenden der internen Bash-Variable „$SECONDS“.
- Methode 3: Verwenden des Bash-Strings „TIMEFORMAT“.
Methode 1: Verwenden des Befehls „date“.
Der „Datum„Befehl ist das integrierte Befehlszeilentool, das das aktuelle Datum und die aktuelle Uhrzeit des Systems einstellt und anzeigt. Es kann auch in einem Bash-Skript verwendet werden, um dessen Ausführungszeit abzurufen.
Beispiel:
Erstellen und öffnen Sie in diesem Beispiel das Bash-Skript mit dem Namen „Zeit.sh” mit dem Nano-Texteditor in Ubuntu:
$ nano Time.sh
#!/bin/bash start=`date +%s`sleep 2sleep 4end=`date +%s`echo "Execution Time is: $(($end-$start)) seconds"
Der obige Codeblock definiert die folgenden Parameter:
- Der „#! /bin/bashDie erste Zeile ist „Bash Shebang“, die das Skript in der „Bash“-Shell ausführt.
- Der „Start„ ist die Variable, die den Befehl „date“ mit dem Zusatz „%s“, also Sekunden, enthält.
- Die Zwei „schlafen„Befehle führen das Bash-Skript „Time.sh“ nach 2 und 4 Sekunden aus.
- Der „EndeDie Variable „gibt die Sekunden an, in denen das Skript endet.
- Endlich, das „EchoDer Befehl gibt das Ergebnis der Ausführungszeit $(($end-$start)) zusammen mit der angegebenen Anweisung aus.
Drücken Sie „Strg+S“ zum Speichern und „Strg+X“, um das Skript zu verlassen.
Führen Sie das Skript aus, indem Sie den Bash-Skriptnamen „Time.sh“ auf diese Weise übergeben:
$ ./Time.sh
Das „Time.sh“-Skript wurde nach sechs Sekunden ausgeführt, daher beträgt seine Ausführungszeit „6 Sekunden“.
Ausführungszeit in „Nanosekunden“
Der Benutzer kann die Ausführungszeit auch in Nanosekunden ermitteln, indem er das Zeichen „%N“ mit dem „Datum” Befehl auf diese Weise:
#!/bin/bash start=`date +%s%N` sleep 2 sleep 4 end=`date +%s%N` echo "Execution Time is: $(($end-$start)) seconds"
Zu diesem Zeitpunkt wird die Ausführungszeit des „Time.sh“-Skripts genauer angezeigt, nämlich in „Nanosekunden“:
$ ./Time.sh
Die Ausführungszeit des Bash-Skripts „Time.sh“ beträgt „6042959501“ Nanosekunden.
Methode 2: Verwenden der internen Bash-Variable „$SECONDS“.
Der „$ZWEITE„ ist eine interne Bash-Variable, die die Anzahl der Sekunden zurückgibt, in denen das Bash-Shell-Skript seine Ausführung abschließt. Deklarieren Sie zu diesem Zweck eine Variable „$SECOND“ mit einem ganzzahligen Wert, ab dem die Ausführungszeit beginnen soll.
Beispiel:
Das „Code.sh“-Skript wird im „nano“-Editor geöffnet:
$ nano Code.sh
#!/bin/bash SECONDS=0sleep 3sleep 6echo "Execution Time is : $SECONDS seconds"
Die Beschreibung des Codes ist hier geschrieben:
- Im obigen Code ist das „SEKUNDENDer Variablenwert wird ab dem Startpunkt der Zählung auf „0“ gesetzt.
- Der „EchoDer Befehl „$SECOND“ zeigt den Variablenwert „$SECOND“ an.
Führen Sie das Skript „Code.sh“ aus und überprüfen Sie seine Ausführungszeit:
$ ./Code.sh
Die „Code.sh“ wurde in „9“ Sekunden ausgeführt.
Methode 3: Verwenden des Bash „TIMEFORMAT“
„TIMEFORMAT“ ist der Parameter, der den Zeitwert als Zeichenfolge mit dem für die Zeit reservierten Wort wie „%R“ für die Ausführungszeit des Bash-Skripts in Sekunden angibt.
Beispiel:
Erstellen/öffnen Sie ein „Program.sh“-Skript im „nano“-Texteditor:
$ nano Program.sh
#!/bin/bash TIMEFORMAT= ‘The execution time in %R seconds’time {sleep 1sleep 2}
Das „Program.sh“-Skript ist unten definiert:
- Der „ZEITFORMAT„ist die Zeichenfolge, die nach der erfolgreichen Ausführung des Codeblocks „time{}“ angezeigt/gedruckt wird.
- Der „ZeitDer Block umschließt die beiden Schlafbefehle mit den Werten 1 und 2.
Führen Sie das Skript aus:
$ ./Program.sh
Die „Program.sh“ wurde in „3,048“ Sekunden ausgeführt.
Abschluss
Verwenden Sie unter Linux das „Datum“, „$SEKUNDEN” interne Bash-Variable und die „ZEITFORMAT”-Zeichenfolge, um die Ausführungszeit des Bash-Skripts abzurufen. Alle diese Dienstprogramme geben die Ausführungszeit auf effektive Weise zurück. Abgesehen von Sekunden kann der Befehl „date“ auch die Ausführungszeit in „Nanosekunden“ ausgeben, indem er „%N” Charakter.
In diesem Beitrag wurden alle möglichen Möglichkeiten aufgezeigt, die Ausführungszeit des Bah-Skripts effektiv zu bestimmen.