Bash Advanced Variable Idiome für die Fallsensitivitätsmanagement

Bash Advanced Variable Idiome für die Fallsensitivitätsmanagement

Wann immer wir mit Textketten arbeiten, erscheint früher oder später das Problem des Falles. Muss ein Wort vollständig Großbuchstaben, vollständig in Kleinbuchstaben sein, mit einem kapitalisierten Buchstaben zu Beginn des Wortes oder Satzes usw.

Eine Idiom ist ein natürlicher Sprachausdruck einer einfachen Programmieraufgabe. Zum Beispiel in der Schlaf 10 Befehl (der das Terminal, in dem One zehn Sekunden arbeitet), das Wort pausieren wird), das Wort schlafen ist ein natürlicher Sprachausdruck eines zeitbasierten Codierungskonstrukts, das im Bash GNU CoreUtils -Softwarepaket entwickelt wurde.

Es gibt eine Reihe von speziellen Variablen-gebundenen Redewendungen (i.e. Suffixe, die zu einem variablen Namen hinzugefügt werden können, was angibt, was wir mit einer bestimmten Variablen tun möchten), die in Bash verwendet werden kann, um diese Art von Conversions im Fliegen leichter durchzuführen, anstatt zum Beispiel den SED -Stream zu verwenden Herausgeber mit einem regulären Ausdruck, um dasselbe zu tun.

Wenn Sie an regelmäßigen Ausdrücken interessiert sind, schauen Sie sich unsere Bash Regexps für Anfänger mit Beispielen erweitert Bash Regex mit Beispielen mit Beispielen an!

Dies macht die Arbeit mit Variablen, die eine Falländerung benötigen, oder Wenn Statement testen viel einfacher und bieten große Flexibilität. Redewendungen können direkt in die hinzugefügt werden Wenn Aussagen und müssen keine Unterschale mit verwenden sed.

Während die Syntax zunächst etwas komplex aussieht, sind Sie auf dem besten Weg, diese Redewendungen in Ihrem nächsten Skript zu verwenden, wenn Sie einen kleinen mentalen Support-Trick lernen, um sich an die richtigen Tasten zu erinnern oder in der Befehlszeile ein Einweihskript zu verfolgen!

In diesem Tutorial lernen Sie:

  • Wie man die benutzt ^, ^^, , Und ,, Variable Suffix -Redewendungen blockieren
  • So verwenden Sie einen regulären Ausdruck [] Reichweite idiom in Kombination mit diesen
  • Wie man die benutzt ^ Und , Redewendungen direkt von innen Wenn Aussagen
  • Detaillierte Beispiele, die die Verwendung von veranschaulichen, ^, ^^, , Und ,,
Bash Advanced Variable Idiome für die Fallsensitivitätsmanagement

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Linux-Verteilungsunabhängige
Software BASH -Befehlszeile, Linux -basiertes System
Andere Jedes Dienstprogramm, das standardmäßig nicht in der Bash -Shell enthalten ist sudo apt-Get Installieren Sie den Dienstprogramm (oder yum install Für Redhat -basierte Systeme)
Konventionen # - Erfordert, dass Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden sudo Befehl
$-erfordert, dass Linux-Commands als regulärer nicht privilegierter Benutzer ausgeführt werden


Beispiel 1: Vollvariablen in Großbuchstaben erstellen

Beginnen wir mit einem Beispiel, das zeigt, wie eine Variable als Großbuchstaben gedruckt wird:

$ Var = "Mach mich Großbuchstaben"; Echo "$ var ^^" Mach mich in Großbuchstaben 

Wir haben zuerst die Variable festgelegt Var Zu Mach mich Großbuchstaben. Die Art und Weise, wie wir dies getan haben, durch die Verwendung ^^ Am Ende des variablen Namen.

Beachten Sie, dass jeder, wenn man eine Variable festlegt, das verwendet Var = Syntax, die die führende Variable ablassen ($) Bash Idiom. Nachfolgende Verwendungen, die keine Neuzuweisung selbst sind, werden die verwenden $ Syntax. Daher verwendet das Echo $.

Sie können auch sehen Und Rund um den variablen Namen verwendet werden. Dies ist zwar nicht streng notwendig:

$ Var = 1; echo $ var 1 

Es wird sehr empfohlen, und ich persönlich empfehle es auch, Variablen immer korrekt zu zitieren, da es Fehler und sogar Probleme vermeidet, wie es für den Interpret der Kulissen hinter den Kulissen nicht klar ist, wenn eine Variable endet:

$ Var = "a"; echo "$ vara" 

Im ersten Beispiel sieht der Bash -Dolmetscher einen variablen Namen (beginnt ($) und liest weiter, bis es einen Raum erreicht, wie hier zu sehen ist:

$ Var = "a"; echo "$ var a" a 

Hier mussten wir einen Raum vorstellen, nur um unsere zu machen Echo richtig arbeiten.

Mit anderen Worten, in unserem früheren Beispiel ist der variable Name, den Bash sieht Vara und es kann nicht teilnehmen/sehen, wo die Variable endet und der Rest des String-zu-Ausgabes beginnt oder neu startet. Vergleichen wir dies mit ordnungsgemäßen Einkapselung von Variablen mit Und :

$ Var = "a"; echo "$ var a" aa 

Hier werden keine Probleme gesehen; dem Bash -Dolmetscher ist klar, dass $ Var ist die Variable und A ist der zu folgende Text, alles dank der ordnungsgemäßen Einkapselung unserer Variablen.

Dies führt auch in starker Weise zurück, um das Special zu verwenden ^^ Idiom und andere solche Bash -Redewendungen. Lassen Sie uns dies veranschaulichen:

$ Var = "Mach mich Großbuchstaben"; echo $ var ^^ Mach mich Großbuchstaben ^^ $ var = "Mach Me Großbuchstaben"; echo "$ var ^^" Mach mich Großbuchstaben ^^ 

In diesem Fall kann Bash sehen, dass wir das möchten Var Variable gedruckt werden, wenn auch interpretiert ^^ als Standardtext. Wie deutlich aus diesen und früheren Beispielen ersichtlich ist, ist es eine bewährte Verfahren, immer Variablennamen mit zu umgeben Und .

Beispiel 2: Vollvariablen in Kleinbuchstaben machen

Jetzt, da wir gesehen haben, wie man einen variablen Großbuchstaben durch die Verwendung der verwendet hat ^^ Idiom, lassen Sie uns untersuchen ,, Idiom:

$ Var = "Mach mich Kleinbuchstaben"; Echo "$ var ,," Mach mich in Kleinbuchstaben 

Es ist eine interessante Syntax -Idiom zu verwenden ,, Als Suffix für die Variable, aber es funktioniert korrekt wie gezeigt.



Ein kleiner mentaler Unterstützungstrick, um sich an diese zu erinnern

Eine gute Möglichkeit/Methode, sich daran zu erinnern, besteht darin, visuell zu bestätigen oder sich vorzustellen, was erinnert werden muss. Wenn Sie ein paar mentale Konstrukte dazu hinzufügen können, z.

Dies ist ein Blick auf Ihre physische Tastatur, und wenn Sie eine querty Tastatur wie ich verwenden, werden Sie das sehen ^ ist Shift-6 und "," ist direkt neben dem M. Wie hilft das hilft?

Erstens die 6/^ Schlüssel ist oben und die , Der Schlüssel ist unten. Als nächstes die , Der Schlüssel ist auch der unten am nächsten Nicht-Alphabet-Charakter zum 6 Taste. Schließlich befinden sich beide Tasten auf der rechten Seite der Tastatur, die an eine daran erinnert, dass diese Redewendungen ein Suffix und kein Präfix für eine Variable sind

Sobald Sie dies ein- oder zweimal visuell bestätigt haben, bleibt es wahrscheinlich recht gut im Speicher und Sie können diese Redewendungen in Ihrem nächsten Bash-Skript oder Ein-Liner verwenden, ohne die Syntax erneut zu referenzieren müssen.

Beispiel 3: Ändern spezifischer Buchstaben

Wir können auch einen bestimmten Buchstaben in Großbuchstaben erstellen:

$ Var = "Ababab CDCDCD"; echo "$ var ^^ b" Ababab CDCDCD 

Oder Kleinbuchstaben:

$ Var = "Ababab CDCDCD"; echo "$ var ,, c" Ababab CDCDCD 

Hier gibt es zwei Gotchas/Einschränkungen. Erstens müssen wir sicherstellen. Daher geben Sie einen Kleinbuchstaben -Ersatz für den Buchstaben an C wird nicht funktionieren:

$ Var = "Ababab CDCDCD"; echo "$ var ,, c" Ababab CDCDCD 

Da gibt es einfach keinen Kleinbuchstaben C Im Text gibt es nur C (Großbuchstaben), und dies funktioniert einwandfrei wie das oben gezeigte Beispiel.

Wir können auch mehrere Buchstaben nicht angeben, indem wir eines dieser vermutbaren, aber nicht arbeitenden Formate verwenden:

$ Var = "Ababab CDCDCD"; echo "$ var ,, CD" Ababab CDCDCD $ var = "Ababab CDCDCD"; echo "$ var ,, c ,, d" Ababab CDCDCD 

Der Weg, dies richtig zu machen, besteht darin, das reguläre Ausdrucksformat von zu verwenden [… Auswahlliste…], folgendermaßen:

$ Var = "Ababab CDCDCD"; echo "$ var ,, [cd]" Ababab CDCDCD 

Starten Sie den Satz mit einem Groß- oder Kleinbuchstaben -Charakter

Nur den ersten Buchstaben zu ändern ist auch möglich:

$ Var = "Ababab CDCDCD"; echo "$ var^" Ababab CDCDCD $ var = "Ababab CDCDCD"; Echo "$ var," Ababab CDCDCD 

Hier haben wir eine Single verwendet ^ oder , Um den ersten Buchstaben Großbuchstaben oder Kleinbuchstaben zu erstellen.



Verwenden dieser Bash -Variablen -Suffix -Idiome von innen nach Anweisungen

Wir können diese Bash -Variablen -Suffix -Idiome auch direkt von innen verwenden Wenn Aussagen:

$ Var = "ABC"; if ["$ var ^^" == "ABC"]; dann stimmte echo ab!'; sonst echo 'nicht übereinstimmte!'; fi passte! 

Hier haben wir eine Variable Var mit Wert ABC. Als nächstes im Inneren der Wenn Aussage ändern wir den Inhalt der Variablen dynamisch in ABC durch die Nutzung $ Var ^^ Als erste Vergleichszeichenfolge in der Wenn Stellungnahme. Als nächstes vergleichen wir uns mit ABC Und wir haben ein Match und beweisen, dass unsere Inline -Substitution durch Großbuchstaben funktioniert.

Dies ist viel einfacher, als eine Unterschale zu starten und dasselbe zu tun, um es zu tun sed und ein regulärer Ausdruck:

$ Var = "ABC"; if ["$ (echo" $ var "| sed 's | [a-z] | \ u & | g')" == "ABC"]; dann stimmte echo ab!'; sonst echo 'nicht übereinstimmte!'; fi passte! 

Der \ U & in diesem sed Der Befehl kann als "Änderung jeder Erfassung (durchgeführt" gelesen werden (erledigt von [A-Z] und Referenzen von & In \ U &)in den Großbuchstaben (\ U ') gleichwertig davon. Vergleichen Sie die Komplexität dieser Lösung mit dem vorherigen.

Ein anderes wenn Beispiel

$ Var = "ABC"; if [["$ var ^^ b" == * "B" *]]; dann stimmte echo ab!'; sonst echo 'nicht übereinstimmte!'; fi passte! 

In diesem Beispiel haben wir den Text geändert ABC Zu ABC durch die Nutzung $ Var ^^ b wie zuvor beschrieben (Großbuchstaben nur der Brief B). Dann verwenden wir einen Vergleich, der ein Sternchen links und rechts vom Buchstaben hat B. Das bedeutet B gefolgt von… jeder String… (beachten Sie, dass man auch den Start- oder Endstern von Start- oder Endstern ablassen kann, um Sätze mit oder enden mit dem enden B bzw).

Abschluss

In diesem Artikel haben wir die Bash -Variablen -Suffix -Idiome untersucht ^, ^^, , Und ,,. Wir haben uns angesehen, wie sie verwendet werden können, um Saiten in ihre Ober- und Kleinbuchstaben -Varianten zu ersetzen, und wie man mit einem oder mehreren einzelnen Buchstaben arbeitet, einschließlich der Erstellung des ersten Buchstabens Groß- oder Kleinbuchstaben.

Wir haben auch untersucht. Schließlich haben wir einen vorgeschlagenen Memory -Support -Trick zur Verfügung gestellt, um uns daran zu erinnern, welche Zeichen verwendet werden können und wo als Bash -Redewendungen für die obere und zuverlässige Substitution des Textes bash.

Lassen Sie uns einen Gedanken mit Ihren coolsten Textbefehlsbefehlungen! Genießen!

Verwandte Linux -Tutorials:

  • BASH -Skript: Pause Skript vor fortfahren
  • Advanced Bash Regex mit Beispielen
  • Bash -Hintergrundprozessmanagement verleihen
  • Multi-Thread-Bash-Skript- und Prozessmanagement bei der…
  • Schleifen mit Beispielen verprügeln
  • Spezielle Bash -Variablen mit Beispielen
  • Ziehen Sie Ihre Bash -Skripte und -Ver Prozeduren aus dem Code aus
  • Bash Regexps für Anfänger mit Beispielen
  • Vergleichen Sie die Zeichenfolge in Bash
  • Richtige variable Parsen und Zitat in Bash