Lassen Sie uns sehen, wie wir unser Shell -Skript dazu bringen können, diesen Fehler zu verursachen und zu beheben. Beginnen Sie mit der neuen Bash -Datei mit Ubuntus "Touch" -Anfrage und öffnen Sie sie innerhalb des Editors "Gnu Nano".
$ touch sub.SchBeispiel 01
Der erste Grund für den schlechten Substitutionsfehler ist die Verwendung der falschen Code -Syntax. Schauen wir uns das an. Ab dem ersten Bash -Code haben wir in der ersten Zeile des Bash -Skripts Bash -Support hinzugefügt.e., ##!/bin/bash ”. Danach haben wir eine einfache Variable „V“ mit dem Befehl List von Ubuntu als Wert initialisiert. Dieser Wert wurde in die lockigen Klammern und mit dem Schild „$“ eingefügt, um es als Shell -Befehl zu betrachten. Danach ist die Echo -Anweisung hier, um einfach den Wert der Variablen „V“ auf der Shell anzuzeigen. Unser Code ist vollständig und verwendet zu verwenden.
Wir haben den Bash -Code gespeichert und sind nach Verwendung von Strg+S bzw. Strg+x zum Terminal zurückgekehrt. Wir haben diese neu erstellte Bash -Skriptdatei mit der Anweisung "Bash" ausgeführt und hier auf unserem Bildschirm die "schlechte Substitution" erhalten. Dieser Fehler ist aufgrund der Verwendung von Curly -Klammern „“ um die Listenanweisung im Code aufgetreten.
$ bash sub.SchVersuchen wir, unseren Code zu aktualisieren, um diesen Fehler jetzt zu beheben. Wir haben also die lockigen Klammern aus der zweiten Codezeile entfernt und durch die einfachen Klammern „()“ ersetzt, wie unten dargestellt. Insgesamt bleibt der Code gleich, da es kein Problem mit dem Code gibt. Speichern Sie diesen Code jetzt.
Nach dem Verlassen des GNU Nano -Editors werden wir die Bash -Datei „Sub ausführen.SH ”aktualisierte Code mit der Verwendung der unten angegebenen„ Bash “-Inweisung. Es stellt sich heraus. Der Befehl List zeigte alle aktuellen Home -Verzeichnis -Inhalte an, i, ich.e., Dateien und Ordner auf unserem Shell -Bildschirm.
$ bash sub.SchBeispiel 02
Ein weiterer Grund für das Auftreten schlechter Substitutionsfehler in Bash ist die Verwendung unnötiger Räume bei der Ausführung einiger Variablen. Wir haben also Bash -Support hinzugefügt und eine variable „V“ mit der Listenanweisung als Wert durch einfache Klammern und ein Dollar -Schild „$ initialisiert."Danach haben wir die Anweisung" Echo "verwendet, um den Variablen -V -Wert anzuzeigen. Aber wir haben die Variable "V" in der Anweisung "Echo" zusammen mit dem "Raum" in den Klammern hinzugefügt.
Nach dem Speichern dieses Code haben wir diese Bash -Datei mit der Abfrage „Bash“ in unserem Terminal ausgeführt, wie unten dargestellt. Es gibt die Bash -Substitution am 3 zurückRd Zeile des Skripts.
$ bash sub.SchUm den Fehler aus unserem Code zu entfernen, müssen wir unseren Code aktualisieren. Also haben wir die Datei erneut geöffnet und den zusätzlichen Speicherplatz in den lockigen Klammern der Anweisung „Echo“ wie unten entfernt.
Nachdem der Code aktualisiert wurde und der Weißraum entfernt wird, müssen wir diese Datei mit der unten angegebenen Bash -Anweisung ausführen. Nach dem Ausführen der Datei wurde der schlechte Substitutionsfehler entfernt, und die in der Variablen V "angegebene Listenanweisung wurde erfolgreich auf dem Terminal ausgeführt, nachdem die Anweisung„ Echo “im Bash -Skript ausgeführt wurde. Die Liste der aktuellen Home -Verzeichnisdateien und Ordner wird unten auf unserem Shell -Bildschirm angezeigt.
$ bash sub.SchBeispiel 03
Dieser Fehler kann auch aufgrund der Verwendung von wiederholten unerwünschten Zeichen im Code auftreten. Wir haben also einen aktualisierten Code ausprobiert, um diesen Fehler auf die Shell zu erhalten. Dafür müssen wir das Zeichen „$“ zweimal in der Anweisung „Echo“ verwenden, um die Variable "V" für die Ausführung anzugeben, die die falsche Syntax dafür ist. Diese Variable „V“ enthält die einfache Listenanweisung als Wert. Da wir das doppelte "$" -Schild in und aus den lockigen Klammern in der Aussage „Echo“ verwendet haben, wird es uns zu einem schlechten Substitutionsfehler bei der Ausführung führen.
Nachdem wir den Code mit Bash -Befehl ausgeführt hatten.
$ bash sub.SchLassen Sie uns den schlechten Substitutionsfehler aus der Ausführung entfernen, indem Sie die Zeile 3 eines Codes aktualisieren. Wir haben das innere "$" -Schild in den lockigen Klammern aus der Erklärung "Echo" entfernt.
Nachdem wir das "$" -Schild entfernt haben, haben wir den Code erneut auf der Shell mit dem Befehl "bash" ausgeführt. Der Fehler wurde entfernt und die Liste der Dateien und Ordner wurde angezeigt.
$ bash sub.SchBeispiel 04
Lassen Sie uns unser letztes, aber nicht das geringste Beispiel für diesen Artikel haben. Wir haben zwei Variablen verwendet, x und y, die den Verzeichnisort als Wert enthalten. In der Anweisung „Echo“ dieses Codes haben wir beide Variablen verwendet, die gedruckt und durch das "/" -Schild gedruckt und getrennt werden sollen. Jede Variable enthält ein Dollar -Zeichen damit, während außerhalb der lockigen Klammern auch ein einzelnes Dollar -Schild verwendet wird.
Die Verwendung von lockigen Klammern und Dollar -Zeichen verursachte einen schlechten Substitutionsfehler.
$ bash sub.SchAlso haben wir die lockigen Klammern und das äußere Dollar -Zeichen entfernt, wie unten gezeigt.
Dieser Zeitwert beider Variablen wurde angezeigt.
$ bash sub.SchAbschluss
Hier geht es darum, einen Bash -Code für die Fehler zu erstellen, was dazu führt, dass der schlechte Substitutionsfehler während der Ausführung auftritt. Wir haben die DOs besprochen und nicht, um den Fehler durch die Durchführung verschiedener Bash -Beispiele zu vermeiden.