Was ist $@ in einem Bash -Skript?

Was ist $@ in einem Bash -Skript?
Die meisten von uns verwenden Bash -Skripte für die Wartung und bestimmte andere Aufgaben. Wir sind jedoch nicht immer mit den verschiedenen Bash -Optionen vertraut. Immer wenn ein Benutzer ein Anfänger der Bash-Shell und Linux ist, neigt der Benutzer dazu, ein vorgeschriebenes Bash-Skript zu suchen. Dies liegt daran, dass einige Benutzer die einzigartigen Bash -Charaktere wie $@, $ _ und $ 1 verwirrend finden. Beginnend mit dem Parameter $@ bash wird er verwendet, um sich in die Positionsargumente auszudehnen. Jeder Parameter erstreckt sich in so etwas wie ein eigenes Wort, wenn sich die Erweiterung innerhalb von Doppelquoten erfolgt. Separate Parameter sollten in Zitate eingeschlossen und durch einen Raum unterschieden werden, wenn $@ verwendet wird. Denken Sie daran, dass $@ so zitiert werden sollte, dass sie richtig funktionieren. Trotzdem verhält es sich ähnlich wie Argumente als unterschiedliche Saiten.

Wir werden uns mehrere Beispiele ansehen, die die Funktionalität von $@ im Bash -Skript bei der Verwendung von Ubuntu 20 näher erläutern.04 System:

Beispiel 01:

Zu Beginn müssen wir uns vom Ubuntu 20 anmelden.04 Distribution als Sudo -Benutzer. Nach dem erfolgreichen Login öffnen wir die Befehlszeile, um mit der Arbeit zu beginnen. Um es zu öffnen, verwenden Sie “Strg+Alt+t”. Alternative können wir auch den Aktivitätsbereich verwenden, um das Konsolenterminal aus der Suchleiste zu finden. Nachdem wir es richtig geöffnet haben, werden wir anfangen, an $@ in Bash zu arbeiten, indem wir eine neue Bash -Datei erstellen. Wir haben also die "die" verwendet "berühren"Abfragen mit dem Namen einer Datei als"eins.Sch”. Beachten Sie, dass die Bash -Datei eine enthält “.Sch" Verlängerung. Schlag "EingebenNachdem Sie die folgende Anweisung in der Shell geschrieben haben, um sie auszuführen. Sie finden die neu generierte Bash -Datei in Ihrem Heimverzeichnis von Ubuntu 20.04:

$ touch eins.Sch

Jetzt wurde die Bash -Datei generiert; Wir müssen es in einem Editor öffnen, um das darin enthaltene Bash -Skript hinzuzufügen und zu bearbeiten. Wir werden es also mit dem „mit dem“ öffnenGnu NanoEditor aus der Terminal Shell. Daher haben wir das benutztNanoSchlüsselwortanweisung in der Shell zusammen mit dem Namen einer Datei als "eins.Sch”Nach dem folgenden Bild:

$ nano eins.Sch

Sie müssen das folgende Drei-Liner-Skript in Ihre Bash-Datei schreiben “eins.Sch”. Wir haben zuerst die Bash -Erweiterung in der Datei hinzugefügt. Danach haben wir die drei Echo -Anweisungen in diesem Skript verwendet, um die drei Sonderzeichen zu verwenden und ihre jeweiligen Ergebnisse auszugeben. Notiere dass der "$#Das Zeichen wurde verwendet, um die Gesamtzahl der Eingangs- oder Parameterzeichenfolgen von Werten auszugeben, die vom Benutzer in der Shell hinzugefügt werden. Der "$@Das Zeichen wird verwendet, um diese drei Werte oder Parameter an der Klemme anzuzeigen, und die “$?”Charakter hat eine besondere Aufgabe, 0 zurückzugeben, wenn der letzte Befehl erfolgreich wird. In Bash, die “Strg+s"Verknüpfung wird häufig verwendet, um die Bash -Datei zu speichern, während er in irgendeiner Art geöffnet ist"Nano" Editor. Speichern Sie also Ihren einen.SH -Datei und lassen Sie sie mit “Strg+xUm es an das Terminal zurückzugeben:

Jetzt wurde das neu erstellte Bash -Skript in unserem System gespeichert und gesichert. Es ist höchste Zeit, es ausführbar zu machen. Sie müssen beachten, dass das Zeichen wie $@ während der Ausführung einer Datei Parameter von Werten innerhalb des Terminals nimmt. Verwenden Sie also das “verprügeln"Keyword -Abfrage in Ihrer Ubuntu -Shell mit dem Namen einer Datei"eins.SchUnd zuweisen Parameterwerte, wie angegeben. Aus dem folgenden Snap sehen Sie, dass wir dem Bash-Skript 3 Parameterwerte vom String-Typ bereitgestellt haben.sie.G., Aqsa, Rimsha und Awan. Das Ausgabeergebnis zeigt die 3 -Zeilenausgabe an. Die erste Zeile zeigt die Anzahl der hinzugefügten Gesamtparameter an. In der zweiten Zeile werden die Werte von Argumenten angezeigt, die vom Benutzer übergeben wurden. Zuletzt zeigt die dritte Zeile 0 als Rückgabewert, da der Befehl zweiter Zeile erfolgreich geworden ist:

$ bash eins.sh arg1 arg2 arg3

Beispiel 02:

Um das $@ Charakter- und Funktionalitätskonzept mehr zu verstehen, brauchen wir ein weiteres Beispiel in unserem Artikel. Daher werden wir dieselbe Datei öffnen. “eins.Sch”, Mit dem Gnu Nano Editor. Zu diesem Zweck haben wir die folgende Anweisung ausprobiert und auf die Schaltfläche "Eingeben" aus der Tastatur geklickt, um fortzufahren:

$ nano eins.Sch

Wenn die Datei jetzt geöffnet wird, werden wir es einem neuen und aktualisierten Bash -Skript hinzufügen. Dieses Mal haben wir ein einfaches Bash -Skript verwendet, um die Funktion des $@ -Zeichens auszuarbeiten. Sie müssen also Ihr Bash -Skript mit dem im Bild unten gezeigten aktualisieren. Wir verwenden die for -Schleife, um jeweils einen Element zu nehmen. Jedes Element wird über die Echo -Anweisung am Terminal angezeigt. Nach dem Speichern der Datei kehrten wir zur Konsole zurück, um das Bash -Skript auszuführen:

In der Bash-Anweisung haben wir die 5-String-Argumente zusammen mit dem Namen einer Datei übergebeneins.Sch”. Beim Schlagen auf die “EingebenDer Schlüssel, das Terminal wurde mit jedem Argument getrennt angezeigt:

$ bash eins.sh arg1 arg2 arg3 arg4 arg5

Beispiel 03:

Schauen wir uns ein anderes gleiches Beispiel von $@ genauer an, wie oben ausgearbeitet. In diesem Beispiel werden wir $@ und $* verwenden, um die Arbeit beider Sonderzeichen zu vergleichen und zu differenzieren. Auf diese Weise können wir möglicherweise die Funktionsweise von $@ Charakter richtig verstehen. So öffnen Sie die bereits erstellte Datei “eins.Sch”, Schreiben Sie und führen Sie dann die folgende Anweisung in Ihrer Konsole von Ubuntu 20 aus.04.

$ nano eins.Sch

Wir haben den obigen Beispielcode aktualisiert. Alles, was wir getan haben, ist, den gleichen Code für “hinzuzufügen“$*”Innerhalb der für Schleife. Wir haben den Bash -Code gespeichert und die Datei verlassen:

Während der Ausführung zeigt es aufgrund der Verwendung von $* -Scharakter die erste Zeile als die gesamten Parameter. Alle anderen Zeilen sind die Ausgabe von $@ Charakter:

$ bash eins.sh arg1 arg2 arg3 arg4 arg5

Beispiel 04:

In unserem letzten Beispiel werden wir die Funktionalität von $@ Charakter durch Funktionen und Schleifen erklären. Um das Bash -Skript zu aktualisieren, haben wir die Datei geöffnet “eins.Sch"Wieder einmal von der"NanoBefehlshaber in der Shell wie folgt:

$ nano eins.Sch

Dieses Mal haben wir die Methode Foo () verwendet, um die Argumente zu drucken, die in den jeweiligen Methoden von Sonderzeichen übergeben wurden. Die Methode "Dollar1”Ist für $@ spezielle Charakter und“Dollar2”Für $* Zeichen funktionieren. Beide Methoden enthalten die Aufruf von Methode Foo () mit dem speziellen Charakter $@ und $* separat, um Argumente zu übergeben. Die Dollar1- und Dollar2 -Methoden werden nach Echo -Anweisungen aufgerufen, während beide dieselben drei Argumente wie ihre parametrischen Werte enthalten:

Die Ausführung des Codes zeigt die Ausgabe sowohl für Dollar1- als auch für Dollar2 -Methoden separat. Die "Verwendung $@" zeigt die Ausgabe für $@angezeigt, und die "Verwendung $*" zeigt die Ausgabe für $* Zeichen separat an.

$ bash eins.Sch

Abschluss:

In diesem Handbuch wurde beschrieben, wie $@ im Bash -Skript verwendet wird, erklärt es und wie es funktioniert. Wir haben auch den Unterschied zwischen $@@@@ und anderen Dollarbezogenen Zeichen beschrieben, um ihn verständlicher zu machen. Wir hoffen.