Linux-Lernen [15] Bash-Lernen im Detail 1 --- Bash-Funktionen --- detaillierte Erklärung der Variablen

Vorwort:

Als ich etwas über Raspberry Pi lernte, habe ich eine Zusammenfassung der ersten Schritte mit Bash-Skripten erstellt und diese in den folgenden drei Blogs zusammengefasst.
Das Buch, auf das ich mich damals bezog, war „Playing with Linux from Raspberry Pi“, und die folgende Linux-Lernreihe basierte auf „Brother Niaos Linux Private Kitchen Basics Learning Chapter“. 3,4,5Letzteres ist detaillierter als Ersteres, daher sind die nächsten Blogs Ergänzungen zu den vorherigen drei.


Linux-Lernen [3] – Shell-Skript-Bash-Skript – Referenz zur Variablenzuweisung, mathematische Operationen und einfaches Schreiben von Skripten.
Linux-Lernen [4] – Shell-Skript-Bash-Skript – einfache Funktionen und Aufrufe.
Linux-Lernen [5] – Shell-Skript-Bash-Skript – Beurteilung und Wahl & Schleife


1. Bash-Funktion

Wenn wir in der Linux-Konsole ↑ ↓ drücken, können wir zwischen zuvor eingegebenen Befehlen wechseln. Dies liegt daran, dass Bash über die Befehlsbearbeitungsfunktion, also die Verlaufsfunktion, verfügt.

Wenn wir dieses Verzeichnis eingeben möchten /home/abcdefghijklmn/, müssen wir es eigentlich nur eingeben /home/abcd+[tab], und die nachfolgenden Verzeichnisnamen werden automatisch vervollständigt. Wenn es mehrere Verzeichnisse gibt, die mit abcd beginnen, müssen Sie möglicherweise mehrmals die Tabulatortaste drücken, um alle ausfüllbaren Optionen aufzulisten. Geben Sie dann einige Zeichen ein und drücken Sie zum Abschluss die Tabulatortaste.
Diese Vervollständigungsfunktion ist tatsächlich eine der leistungsstarken Funktionen von Bash.

Wir ls -alschließen versteckte Dateien ein, indem wir Details aller Dateien im aktuellen Verzeichnis auflisten. Der Hauptteil dieses Befehls ist ls, gefolgt von zwei Optionen -a,-l. Wir können das Ganze komplett lm nennen, zum Beispiel: alias lm='ls -al'. Nach dieser Einstellung entspricht die nachfolgende Eingabe von lm der Eingabe von ls -al. Dieser Befehl ist relativ kurz und Sie sehen möglicherweise keinen Nutzen. Wenn er jedoch einige lange Befehle umfasst und später häufig verwendet werden muss, ist der Effekt der Verwendung eines Alias ​​immer noch sehr erheblich.

Wenn wir ein bestimmtes Programm ausführen und es auf halbem Weg stoppen möchten, können wir es mit Strg + C stoppen. Dies ist die Verkörperung der Bash-Steuerungsfunktion.

Das einfache Bash-Skript, das ich zuvor geschrieben habe, ist eigentlich eine Art Shell-Skript und auch die programmatische Skriptfunktion von Bash.

Später beinhaltet Bash einige Pipeline-Befehle, sodass Platzhalter eine sehr wichtige Rolle spielen können. Tatsächlich haben viele der Codes, mit denen wir normalerweise in Kontakt kommen, universelle Zeichen, die beispielsweise *beliebige Zeichen von 0 bis unendlich darstellen.

Einige Tipps für Bash:

1. Wenn wir beispielsweise cdBefehle verwenden, um ein sehr, sehr vielschichtiges Verzeichnis aufzurufen, ist eine Zeile oft dicht geschrieben und das Ganze ist unordentlich. Dann können wir \+[enter]die Methode verwenden, um neue Zeilen einzugeben.
Der folgende Effekt ist äquivalent zu cd xxxxxxxxxx/yyyy-xilinx-5.24/gcc-linux-ar, natürlich kann er in ein paar weitere Zeilen unterteilt werden, um ihn organisierter erscheinen zu lassen.
Fügen Sie hier eine Bildbeschreibung ein2. Wenn der Befehl, den Sie eingeben müssen, besonders lang ist oder Sie eine Reihe falscher Befehle eingegeben haben, möchten Sie außerdem schnell die gesamte Befehlsreihe löschen. Im Allgemeinen drücken wir die Entf-Taste.

Tastenkombination Funktion
[Strg]+U/[Strg]+K Sie sollen die Befehlszeichenfolge vorwärts vom Cursor löschen ([Strg]+u) und die Befehlszeichenfolge rückwärts löschen ([Strg]+k).
[Strg]+a/[Strg]+e Bewegen Sie den Cursor an den Anfang ([Strg]+a) bzw. an das Ende ([Strg]+e) der gesamten Befehlszeichenfolge.

2. Variablen

2.1 Variablenzuweisung

Verwenden Sie echo, um Variablen auszugeben, und fügen Sie eins vor der Variablen hinzu, $um den Wert der Variablen zu erhalten.
Zum Beispiel unsere häufig verwendeten Anweisungen:echo $PATH
Fügen Sie hier eine Bildbeschreibung ein

Auf das $-Symbol dieser Anweisung folgt jedoch ein Variablenname. Auf Zeichen kann der Variablenname nicht direkt folgen. Wenn der Wert der PATH-Variablen ausgegeben und IS verwendet wird, ist dieser falsch, was bedeutet, dass
der echo $PATHISWert PATHISder Variable wird ausgegeben.
Für diese Situation müssen wir im Allgemeinen Ausgabevariablen hinzufügen {}.
Zum Beispiel das Folgendeecho ${PATH}IS
Fügen Sie hier eine Bildbeschreibung ein


Variablen werden im Allgemeinen mit dem Gleichheitszeichen zugewiesen. Es gibt viele Anwendungsszenarien bei der Zuweisung von Werten. Hier ist eine Tabelle zur einfachen Übersicht.

Beispiel Bedienungsanleitung
meinname=edwinwzy Weisen Sie einer Variablen mynameeinen Wert zuedwinwzy
错误示例:meinname = edwinwzy Auf beiden Seiten des Gleichheitszeichens dürfen keine Leerzeichen direkt platziert werden.
错误示例:1myname=edwinwzy Variablennamen können nur englische Buchstaben und Zahlen sein, das erste Zeichen darf jedoch keine Zahl sein.
meinname=edwinwzy\$ Hier wird myname der Wert edwinwzy$ zugewiesen, es handelt sich jedoch $um ein Sonderzeichen, sodass es \zur Umwandlung in ein allgemeines Zeichen verwendet werden .
meinname=$(uname -r) Wir können den Ausgabeinhalt einer Anweisung auch als Wert einer Variablen verwenden $, um den Wert zu erhalten
PATH=${PATH}:/home/bin Wenn wir unter Linux Umgebungsvariablen hinzufügen, können wir diese Zuweisungsmethode verwenden, um sie zu akkumulieren, dh den folgenden Inhalt zum ursprünglichen PATH hinzuzufügen.
export myname Nachdem die Variable zugewiesen wurde, können wir die Variable durch Exportieren zu einer Umgebungsvariablen machen, sodass andere Bahs-Skripte diese Variable verwenden können.

2.2 Nicht gesetzte Abbruchvariablen

Wenn Sie einige Variablen falsch gesetzt haben und diese nicht mehr verwenden möchten, können Sie sie mit unset abbrechen.
Die allgemeine Verwendung ist unset 变量名
zum Beispiel:unset myname


2.3 Umgebungsvariablen

Mein persönliches Verständnis von Umgebungsvariablen ist, dass das System erkennen kann, welcher Funktion Ihr Befehl entspricht, wenn Sie einen Befehl in das Terminal eingeben.
Wenn Sie beispielsweise ein Cross-Compilation-Chain-Tool manuell installieren, müssen GCC und GDB manuell zur Umgebungsvariablen PATH (Suchpfad für ausführbare Dateien) hinzugefügt werden, damit das System dies weiß, wenn Sie gcc -v auf der Konsole eingeben welche Version von gcc Sie überprüfen möchten.

Der zum Anzeigen von Umgebungsvariablen verwendete Befehl lautet env
. Beispielsweise können wir ihn in die virtuelle Maschine eingeben env, um alle Variablen und ihren Inhalt der aktuellen Shell-Umgebung anzuzeigen.
Das Folgende ist ein Abfangen des Inhalts nach der Eingabe von env. Sie können sehen, dass PATH auch eine Art Umgebungsvariable ist.
Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein
Einige der Felder werden im Folgenden erläutert:

Feldname Bedeutung
HEIM Home-Ordner des Benutzers
HÜLSE Welches SHELL-Programm wird in der aktuellen Umgebung verwendet, d. h. handelt es sich um ein /bin/bash-Skript oder ein anderes Skriptprogramm?
HISTSIZE Anweisungen zur Historie. Die Anzahl der von uns eingegebenen Werte, die das System speichert, wird dadurch bestimmt.
WEG :Suchpfad für ausführbare Dateien, getrennt nach Verzeichnissen
SPRACHE Sprachfamilie. Mein Ubuntu hier ist standardmäßig en_US.UTF-8 und die Kodierungsmethoden für verschiedene Sprachfamilien sind unterschiedlich. Der A-Code ist beispielsweise AaBbCc…Zz; der B-Code ist ABCD…Zabcd…z. Unterschiedliche Codes führen zu Unterschieden in der Art und Weise, wie der Programmcode geschrieben wird.

{ Variablenbereich }

Unsere benutzerdefinierten Variablen werden zu benutzerdefinierten Variablen.
Wenn man die Analogie der Variablen in der C-Sprache verwendet, ist der Unterschied zwischen Umgebungsvariablen und benutzerdefinierten Variablen wahrscheinlich der Unterschied zwischen globalen Variablen und lokalen Variablen.

Benutzerdefinierte Variablen können durch Export in Umgebungsvariablen umgewandelt werden und von Unterprogrammen referenziert werden.


Zusammenfassen

Dieser Blog extrahiert einige Inhalte zu Bash-Variablen aus dem Buch und zeichnet sie auf der Grundlage meiner eigenen Lernerfahrung auf. Ich habe hier keine ungewöhnliche Verwendung aufgezeichnet.

Ich denke du magst

Origin blog.csdn.net/Edwinwzy/article/details/131194723
Empfohlen
Rangfolge