Wie kann man die Ausführungszeit eines Bash-Skripts effektiv ermitteln?

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.

Schreibe einen Kommentar