So verwenden Sie die Option Bash set -x

So verwenden Sie die Option Bash set -x

Der Befehl SET von Linux wird verwendet, um bestimmte Optionen festzulegen und nicht festzulegen. Diese Optionen verwalten das Verhalten eines bestimmten Skripts und aktivieren die Aufgabenausführung ohne Fehler. In diesem Artikel verwenden wir die Option "X" mit dem Befehl SET, der die Bash darüber informiert. Es ist immens nützlich zum Debuggen, wenn wir bestimmen müssen, welche Zeilen ausgeführt wurden und in welcher Sequenz. Der Set -x -Betrieb kann direkt in einer offenen Bash -Shell oder in einem Bash -Skript verwendet werden. In den folgenden Beispielen verwenden wir den Befehl SET mit der Option „X“, um die verschiedenen Funktionen zu aktivieren und zu deaktivieren.

Beispiel 1: Programm mithilfe des Set -x in einem Bash -Skript programmieren

Hier erstellen wir den „Bash1.Sh ”Datei und das Skript zur Verwendung der Option Set -x angeben. Wir verwenden den Befehl "set -x", um das Debuggen zu aktivieren, da das Bash -Skript das Debuggen standardmäßig nicht aktiviert. Wir geben zuerst den SH-Band-Befehl in unser Skript ein. Danach verwenden wir den "Set" -Modifikator mit seinem "-x" -Flag, um das Debugging zu aktivieren. Dann deklarieren wir den Befehl "Echo", der die Erklärung "Meine erste Aussage" enthält. Wie bei dieser Echo -Aussage definieren wir eine weitere Anweisung "My Second Anweisung" mit dem "Echo" -Modifikator. Als Nächst.

#!/Bin/Bash
set -x
Echo "meine erste Aussage"
Echo "meine zweite Aussage"

Auf dem Terminal berufen wir das Schlüsselwort „Bash“ für die Zusammenstellung des „Bash1.sh ”Datei. Danach führen wir die angegebene Datei aus, die den Befehl echo mit dem Symbol „+“ zusammen mit der resultierenden Anweisung aus den Echo -Befehlen druckt.

Beispiel 2: Programm mit dem Set -x in einem deaktivierten Modus in einem Bash -Skript mit dem Set -x

In dem jüngsten Beispiel haben wir den Weg zum Ermöglichen des Debuggings mit dem Befehl "set -x" gezeigt. Jetzt bieten wir eine Möglichkeit, das Debuggen im Bash -Skript mit dem Befehl „Set“ zu deaktivieren, aber mit der Option "X" in einem anderen Format. Hier konstruieren wir das Skript in einem „Bash2.Sch". Zunächst verwenden wir den Befehl "set -x", der das Debuggen von Bash ermöglicht. Anschließend setzen wir den Befehl "echo", um die Anweisung "Print Anweisung1" zu drucken. Danach setzen wir den Befehl "set +x" bereit, um das Debuggen des Bash -Skripts zu deaktivieren. Der Unterschied beim Aktivieren und Deaktivieren des Debuggens besteht darin, dass wir die Option „X“ mit dem negativen „-“ -Symbol verwenden, um das Debuggen zu aktivieren. Das "X" mit dem positiven "+" -Symbol zeigt an, das Bash -Debugging zu deaktivieren.

#!/Bin/Bash
set -x
Echo "Print Statement1"
Set +x
Echo "Print Statement2"

Das vorherige Bash -Skript wird im Terminal mit dem „Bash) ausgeführt ./Bash2.SH ”Befehl. Das Ergebnis dieses Skripts druckt den Befehl „Echo“ mit der Ausgabe dieses Echo -Befehls, da das Debugging aktiviert ist. Dann wird der Befehl "set +x" gedruckt, wo wir das Debugging deaktivieren. Der Defugieren des Bash -Debugges druckt einfach die Ausgabe des Echo -Befehls, wie im folgenden Bild zu sehen ist:

Beispiel 3: Programm mit dem Set -x im Befehl Shebang Line in einem Bash -Skript mit dem Befehl Shebang Line

Wir haben eine andere Möglichkeit, das Debuggen in Bash zu ermöglichen, indem wir die Flag „-x“ in die Shebang-Linie aufnehmen. Hier erstellen wir das Skript im „Bash3.Sch". Wir beginnen damit, das „# zu definieren!/bin/bash -x ”Shebang -Befehl, bei dem die Option" -x "ebenfalls deklariert wird, um das Debuggen des angegebenen Bash -Skripts zu aktivieren. Dann erstellen wir das Attribut "myName", dem wir einen "Linux" -Wert zuweisen. Das Attribut wird weiter mit dem Echo -Befehl festgelegt, um seinen Wert zu drucken. Danach deaktivieren wir das Debuggen mit der Erklärung "Set +x". Wir deklarieren das Attribut "MySalary" und initialisieren es mit dem Wert "7000" für das Debuggen. Das Schlüsselwort "Echo" wird über das Attribut "MySalary" aufgerufen, um den Wert auszuführen. Als nächstes definieren wir erneut einen Fall, um das Debuggen im Bash -Skript zu aktivieren. Dafür definieren wir den Befehl "set +x". Danach setzen wir das Attribut "Myluage" erneut mit dem Wert "Englisch", um die aktivierte Art des Debuggens zu untersuchen.

#!/bin/bash -x
MyName = Linux
Echo $ myName
Set +x
Mysalary = 7000
Echo $ Mysalary
set -x
Mylanguage = Englisch
echo $ mylanguage

Wenn der „Bash3.SH ”wird im Terminal ausgeführt, es druckt zunächst den Ausdruck„ myName = Linux “und die Echo -Anweisung mit seinem resultierenden Wert aus. Der Wert „7000“ ist der resultierende Wert des Echo -Ausdrucks, bei dem das Debuggen nicht aktiviert wird. Als nächstes folgt auch der gedruckte Ausdruck „Myluage = English“ und der Echo -Ausdruck mit dem Ausgangswert „Englisch“, wenn der Debugging -Modus aktiviert ist.

Beispiel 4: Programm Verwenden des Set -x in einem Bash -Skript für den bedingten Ausdruck

Jetzt verwenden wir den Befehl "set -x", um die bedingte Erklärung zu debuggen, die das Ergebnis ausführt, und druckt jeden Schritt der Ausgabe aus dem Bash -Skript für ein besseres Verständnis des Skripts. Hier erzeugen wir das Bash -Skript im „Bash4.sh ”Datei. Der erste Schritt des Skripts besteht darin, den Befehl "set -x" zu deklarieren. Durch die Verwendung des Befehls "set -x" aktivieren wir den Debugging -Modus unseres Bash -Skripts. Dann erstellen wir das Attribut "Y" und geben einen numerischen Wert von „50“ an. Danach setzen wir die while -Schleife ein, in der die Bedingung als "$ y -GT 0" angegeben wird. Die Aussage „Do und Fertig“ hat die Operation, um die Bedingung zu erfüllen. Der Befehl „echo“ wird mit einer "$ y" -Variablen zugeordnet, die den Dekrementwert jedes Mal druckt.

set -x
y = 50
während [$ y -GT 0]; Tun
y = $ [$ y-10]
echo $ y
Schlaf 1
Erledigt

Die Ausgabe wird mit jedem einzelnen Schritt des Skripts angezeigt, in dem die bedingten Werte aktualisiert werden.

Abschluss

Die Verwendung des Befehls „set -x“ in Bash ist ein Debugging -Prozess, der den Code durch Erkennung der Fehler im Skript zu Fehlerbehebung erhebt. Das „set -x“ wird in der Hilfe geliefert, wenn es für die Benutzer eine Herausforderung ist, ein fehlerfreies Skript zu entwickeln, insbesondere wenn es eine große Anzahl von Zeilen umfasst. Wir haben die Bash -Skripte mit den Befehlen "set -x" und "set +x" zur Demonstration zur Verfügung gestellt. Darüber hinaus können wir die Option "X" am Terminal als "Bash -x" verwenden ./Dateinamen.sh ”Wenn wir den Befehl„ set -x “im Skript nicht verwenden wollen. Wir erzielen das gleiche Ergebnis damit.