Einführung in die Bash Basic Grammatik
0X 00 Vorwort
Vermutlich sollte jeder wissen, dass Bash die am häufigsten verwendete Shell in der Linux-Welt sein sollte. Jetzt verwenden die meisten Linux-Distributionen standardmäßig Bash als Shell.
Sie können das Terminal eingeben:
echo $SHELL
So überprüfen Sie Ihre Shell. Und die Shell kann durch geändert werdenchsh Auftragsänderung
chsh -s /bin/zsh
Es bedeutet natürlich, die Shell in zsh zu ändern. Voraussetzung ist, dass Sie diese Shell haben und
nicht wissen, welche Shells verfügbar sind. Einfach, die Shell-Liste wird in gespeichert/ etc / shells Rein, einfach raus
cat /etc/shells
Nun, diese Grundlagen sind klar, beginnen
wir mit der Grammatik! Aber bevor ich noch erklären muss:
Die Grammatik jeder Shell kann unterschiedlich sein, aber im Grunde die gleiche. Wir wählen Bash, hauptsächlich weil es in einem weiten Bereich verwendet wird, also wird es als Repräsentant verwendet.
Hör auf Unsinn zu reden und fang an!
0X 10 Erstellen Sie eine Shell-Skriptdatei
Das Suffix des Shell-Skripts lautet .SchNatürlich müssen wir nur ein neues Dokument erstellen und den Namen direkt ändern.
Geben Sie zuerst ein einfachstes Beispiel
#! /bin/bash
echo "Hello World"
Ist es sehr vertraut, hahahaha, beginnt der Standard einer Sprache
Erklären # Es ist das Kommentarsymbol der Bash-Sprache, das dem in C oder C ++ entspricht // //
Aber der erste Satz #!Sie sind miteinander verbunden und heißen Shebang. Wenn das Betriebssystem den Shebang sieht, verwendet es den folgenden Inhalt als Dolmetscheranweisung und ruft die Anweisung auf. Dieser Satz sagt mir tatsächlich, dass das Skript verwendetBash Um auszuführen, oder Sie können andere Shells wie sh, zsh oder sogar nicht angeben, wird das System mit der Standard-Shell ausgeführt
Mal sehen, wie es ausgeführt wird:
Erstens, da wir von normalen Benutzern erstellt wurden, kann es bei der direkten Ausführung zu Berechtigungsbeschränkungen kommen. Wir müssen die Ausführungsberechtigungen ändern:
chmod +x HelloWorld.sh
Jetzt können Sie es direkt in diesem Verzeichnis ausführen:
./HelloWorld.sh
0X 10 Variablen in Bash-Sprache
Als Programmiersprache sind Variablen unerlässlich, und bash hat auch eine eigene Art, Variablen zu definieren.
Aber im Vergleich zu Sprachen wie C ++ und Java haben Bash-Variablen keine Typen und können direkt definiert werden (es sieht ein bisschen wie Python aus).
1. Variablendefinition
message='Hello World'
Sie können definieren, ob Sie definieren möchten, und Sie können es verwenden, wenn Sie es verwenden möchten
echo $message
Wenn wir darauf achten müssen, sieht es lässig aus, aber es ist nicht so lässig. Wenn Sie beispielsweise eine Variable definieren, geben Sie ein Leerzeichen in die Mitte ein
message='Hello world'
message ='Hello world'
message = 'Hello world'
Fakten haben bewiesen, dass die oben genannten drei Fehler melden:
Warum? Wenn Sie sich trennen, werden Sie von bash als Befehl behandelt, sodass ein Fehler gemeldet wird, der besagt, dass es keinen solchen Befehl gibt.
Ich kann also immer noch nicht zu lässig sein
2, variable Anzeige
in der Tat haben wir bereits verwendet, dh die Verwendung von $
Symbolen, wollte das gleiche wie zuvor
message='Hello World'
echo $message
Auf diese Weise können die Informationen in der Variablen extrahiert werden
Aber wir werden ein solches Problem finden
message="Hello World"
echo 'The message is $message'
Huh, es ist nutzlos? In der Tat wird es in diesem Fall nicht analysiert.
Sie werden jedoch feststellen, dass es ausreicht, das Echo in doppelte Anführungszeichen zu setzen
Wir werden also über drei Arten von Anführungszeichen in Bash sprechen
3. Drei Arten von Anführungszeichen
In Bash gibt es drei Arten von Anführungszeichen:
Arten von | Meint |
---|---|
Apostroph | ' |
Anführungszeichen | „ |
Backticks | ` |
der Unterschied:
- Einfache Anführungszeichen: Wenn die Variable in einfache Anführungszeichen eingeschlossen ist, wird die Variable nicht analysiert und das Dollarzeichen ($) wird unverändert ausgegeben
- Doppelte Anführungszeichen: Doppelte Anführungszeichen ignorieren die meisten Sonderzeichen, enthalten jedoch nicht: Dollarzeichen ($), Backquote (`), Backslash (\). Diese drei
Sonderzeichen werden nicht ignoriert. Wenn Sie das Dollarzeichen nicht ignorieren, kann Shell Variablennamen in doppelte Anführungszeichen setzen. - Backquote: Shell muss den darin enthaltenen Inhalt ausführen
Vielleicht sind Sie sich über die Verwendung von Backticks etwas unklar. Nehmen wir ein Beispiel:
#!/bin/bash
message=`pwd`
echo "You are in the directory $message"
Da die Nachricht in Klammern eingeschlossen ist, wird ihr Inhalt ausgeführt. Was ist das Ergebnis?
Verstehen Sie jetzt, so dass die Anti-Bracket manchmal sehr nützlich sein kann.
0X 20 Bash-Spracheingabe
1. Verwenden Sie read zur Eingabe.
Gerade haben wir die ehco-Ausgabe gesehen, daher muss natürlich eine Eingabe erfolgen -read
Direkte Beispiele:
#!/bin/bash
read name
echo "Hello $name !"
Ausführen: Sie
werden feststellen, dass Sie über das Terminal zuerst eingeben können. Anschließend wird der eingegebene Inhalt im Variablennamen gespeichert und dann angezeigt
Einfach!
Wir können sogar den Befehl read verwenden, um mehreren Variablen gleichzeitig Werte zuzuweisen. Wie
Sie sehen, trennt der Raum den Inhalt der beiden Variablen.
Eines gibt es jedoch:
Wenn Sie mehr Parameter als erwartet eingeben, dann den letzten Der Parameter ersetzt alle folgenden Punkte. Nehmen Sie alles
2. Verwenden Sie -p, um die Eingabeaufforderung auszugeben
Manchmal müssen wir jedoch einige Hinweise hinzufügen, um die Interaktivität unseres Skripts zu verbessern. Zu diesem Zeitpunkt können Sie den Parameter -p verwenden, um dies zu erreichen
#!/bin/bash
read -p 'Please enter your name : ' name
echo "Hello $name !"
Betriebsergebnis:
3. Verwenden Sie -s, um Eingaben auszublenden.
In einigen Fällen müssen wir unsere Eingaben ausblenden, z. B. bei der Eingabe eines Kennworts. Dieses Mal können Sie -s
Parameter hinzufügen
#!/bin/bash
read -p 'Please enter your password :\n ' -s pass
echo -e "\nThe password is $pass !"
Oben wird das Echo mit -e hinzugefügt, damit das Parsing-Symbol (\ n) funktioniert, das zum Umbrechen verwendet wird
0X 30 Mathematische Operationen in Bash-Sprache
Lassen Sie uns alle hier daran erinnern:
In Bash sind alle Variablen Zeichenfolgen!
Angesichts dessen müssen einige Schüler erneut fragen:
Da es sich um eine Zeichenfolge handelt, kann bash keine mathematischen Operationen ausführen?
Dies ist eine gute Frage. Wie kann es als Programmiersprache weniger mathematische Operationen geben?
Aber Bash selbst manipuliert keine Zahlen. Wir müssen Anweisungen verwenden, um eine Welle von Operationen durchzuführen
Diese Anweisung let
wird zur Zuordnung verwendet
Z.B:
sei "a = 5"
sei "b = 2"
sei "c = a + b"
Lassen Sie uns eine Welle demonstrieren:
#! /bin/bash
let "a=5"
let "b=2"
let "c=a+b"
echo "c=$c"
Das Ergebnis ist wie folgt:
Ja, die Mathematik ist abgeschlossen
Die verfügbaren Operatoren sind wie folgt:
Berechnung | Symbol |
---|---|
Zusatz | + |
Subtraktion | - - |
Multiplikation | * * |
Teilung | /. |
Macht (Macht) | ** **. |
Rest (Rest der Ganzzahldivision) | %. |
Abgesehen davon, dass die Leistung etwas Besonderes ist (mit zwei Sternchen **
), ähnelt alles andere einer allgemeinen Programmiersprache.
Das obige Beispiel:
sei "a = 5 * 3" # $ a = 15
sei "a = 4 ** 2" # $ a = 16 (4 的 平方)
sei "a = 8/2 " # $ a = 4
sei "a = 10" / 3 ”# $ a = 3
sei“ a = 10% 3 ”# $ a = 1
Es gibt eine andere Regel, die dem C-Stil sehr ähnlich ist:
let "a *= 3"
Ja, sie entsprichtlet "a = a * 3"
————————— I —————————————— Punkte ———————————————————————————
Okay, ich werde heute zum ersten Mal darüber sprechen und den Rest werde ich im nächsten Teil behandeln. Der
Link ist auch hier, ich hoffe, Sie können ihn unterstützen ~ Einführung in die
grundlegende Bash-Syntax (Teil 2) )
------- Referenz------------------------------------------ -
Linux Command Line und Shell Script Programming Encyclopedia / 42 Variablen in der Hand, keine Sorge um Shell