Einführung in die Bash Basic Grammatik (Teil 1)

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

Fügen Sie hier eine Bildbeschreibung ein

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:
Fügen Sie hier eine Bildbeschreibung ein
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'

Fügen Sie hier eine Bildbeschreibung ein
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?
Fügen Sie hier eine Bildbeschreibung ein
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
Fügen Sie hier eine Bildbeschreibung ein
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
Fügen Sie hier eine Bildbeschreibung ein
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
Fügen Sie hier eine Bildbeschreibung ein

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:
Fügen Sie hier eine Bildbeschreibung ein

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 -sParameter hinzufügen

#!/bin/bash

read -p 'Please enter your password :\n ' -s pass
echo -e "\nThe password is $pass !"

Fügen Sie hier eine Bildbeschreibung ein
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 letwird 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:
Fügen Sie hier eine Bildbeschreibung ein
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

Ich denke du magst

Origin blog.csdn.net/rjszz1314/article/details/104466193
Empfohlen
Rangfolge