Zeichenketteninterpolation in PowerShell

  1. Was sind Variablen in PowerShell?
  2. Zeichenketteninterpolation in Windows PowerShell
  3. Zeichenketteninterpolation mit Umgebungsvariablen in PowerShell
  4. String-Interpolation mit Escape-Zeichen in PowerShell
  5. Zeichenketteninterpolation mithilfe von Variablen mit Sonderzeichen in PowerShell
  6. Zeichenketteninterpolation mithilfe eines Unterausdrucksoperators in PowerShell
Zeichenketteninterpolation in PowerShell

Die Zeichenketteninterpolation in Windows PowerShell ersetzt den Wert einer Variablen durch Platzhalter in einer Zeichenfolge. Außerdem zeigt der Prozess der Zeichenketteninterpolation den Wert der Variablen in der Zeichenfolge an.

Die Windows PowerShell-Zeichenketteninterpolation bietet eine besser lesbare, einfacher zu lesende und praktische Syntax zum Erstellen einer formatierten Zeichenfolge. In diesem Artikel wird die Verwendung von Variablen während der Zeichenketteninterpolation in Windows PowerShell erläutert.

Was sind Variablen in PowerShell?

Bevor wir uns mit der Interpolation von Windows PowerShell-Zeichenketten befassen, sollten wir zunächst eine der entscheidenden Voraussetzungen dafür erörtern: die Windows PowerShell-Variablen.

Wie in der offiziellen Microsoft-Dokumentation beschrieben, ist eine Variable eine Speichereinheit, in der Werte vieler Datentypen gespeichert werden. In Windows PowerShell werden Variablen durch Zeichenketten dargestellt, die mit einem Dollarzeichen $ beginnen.

$my_var = "Hello World!"

Wir werden diese Variablen verwenden, um die Zeichenketteninterpolation in Windows PowerShell auszuführen.

Zeichenketteninterpolation in Windows PowerShell

Lassen Sie uns anhand eines Beispiels verstehen, wie eine Zeichenfolge mithilfe der Zeichenketteninterpolation in Windows PowerShell verbunden wird.

Beispielcode:

$company = "XYZ Company"
Write-Output "Welcome to $company"

Im obigen PowerShell-Skript enthält die Variable $company den Zeichenkettenwert XYZ Company.

Innerhalb doppelter Anführungszeichen "" interpoliert Windows PowerShell den Namen der Zeichenfolgevariablen und zeigt das Ergebnis unten in der folgenden Anweisung an.

Ausgabe:

Welcome to XYZ Company

Wenn wir einen Variablennamen in ein einfaches Anführungszeichen '' setzen, wird stattdessen der Variablenname angezeigt, wie unten gezeigt.

Beispielcode:

$company = "XYZ Company"
Write-Output 'Welcome to $company'

Ausgabe:

Welcome to $company

Diese Ausgabe erfolgt, weil alles, was in ein einfaches Anführungszeichen eingeschlossen ist, alles darin als wörtlichen Ausdruck behandelt. Stellen Sie also sicher, dass Sie beim Interpolieren einer Zeichenfolge doppelte Anführungszeichen verwenden.

Zeichenketteninterpolation mit Umgebungsvariablen in PowerShell

Umgebungsvariablen, dargestellt durch die Variable Env: in Windows PowerShell, speichern die Betriebssystemumgebung und Programme. Diese Informationsdetails umfassen den Betriebssystempfad, den Speicherort des Windows-Installationsverzeichnisses, die Anzahl der vom Betriebssystem verwendeten Prozesse und vieles mehr.

In Windows PowerShell können Umgebungsvariablen wie andere Standardvariablen innerhalb einer Zeichenfolge interpoliert werden.

Beispielcode:

Write-Output "My computer name: $Env:COMPUTERNAME"

Im obigen PowerShell-Skript zeigt $Env: COMPUTERNAME einen Variablenwert in doppelten Anführungszeichen an und verkettet ihn mit einem String.

Ausgabe:

My computer name: WINDOWS-PC01

String-Interpolation mit Escape-Zeichen in PowerShell

Trotz der Diskussion, dass wir während der String-Interpolation doppelte Anführungszeichen verwenden sollten, liefern bestimmte Fälle, in denen eine Variable in doppelte Anführungszeichen gesetzt wird, nicht die erwarteten Ergebnisse. Ein Beispiel hierfür sind Escape-Zeichen.

Ein Escape-Zeichen ist eine Art Zeichen, das eine alternative Interpretation der folgenden Zeichen in einer Zeichenfolge aufruft. Escape-Zeichen sind in Programmiersprachen üblich, da bestimmte Symbole verwendet werden, wenn sie programmgesteuert kompiliert werden.

Beispielsweise ist in Windows PowerShell das Dollarzeichen $ einer der am häufigsten verwendeten Operatoren zum Definieren einer Variablen. Im Folgenden verwenden wir das Dollarzeichen als Beispiel.

Beispielcode:

$price = 99
Write-Output "Discounted Price: $$price"

Im obigen Windows PowerShell-Skript liefert $price in doppelten Anführungszeichen nicht die erwartete Ausgabe, da die Skriptumgebung doppelte Dollarzeichen $$ anders interpretiert.

Ausgabe:

Discounted Price: Discounted Price: $$priceprice

Verwenden Sie unten das Windows PowerShell-Escape-Zeichen für die Zeichenketteninterpolation, um die gewünschte Ausgabe zu erhalten.

Beispielcode:

$price = 99
Write-Output "Discounted Price: `$$price"

Ausgabe:

Discounted Price: $99

Zeichenketteninterpolation mithilfe von Variablen mit Sonderzeichen in PowerShell

Wie bereits erwähnt, können Variablennamen, die mit einem Dollarzeichen $ beginnen, alphanumerische Zeichen und Sonderzeichen enthalten.

Die beste Vorgehensweise beim Definieren von Variablen besteht darin, nur alphanumerische Zeichen und den Unterstrich _ einzufügen. Variablennamen, die andere Sonderzeichen, einschließlich Leerzeichen, enthalten, sind schwierig zu verwenden und sollten vermieden werden.

Wir sagen jedoch nicht, dass die Verwendung von Variablen mit Sonderzeichen unmöglich ist. Wenn die Situation dies nicht vermeiden kann, können wir das Dollarzeichen und die geschweiften Klammern ${} verwenden, um alle Sonderzeichen, einschließlich Leerzeichen, in einem Variablennamen zu maskieren.

Beispielcode:

${this is a variable!} = "Hello"
Write-Output "${this is a variable!} World!"

Ausgabe:

Hello World!

Zeichenketteninterpolation mithilfe eines Unterausdrucksoperators in PowerShell

In Windows PowerShell können wir den Unterausdrucksoperator $() verwenden, um einen Ausdruck innerhalb eines Ausdrucks auszuführen, wie z. B. eine Zeichenketteninterpolation. Wir tun dies, indem wir jeden Ausdruck, den wir ausführen, mit einem Dollarzeichen und runden Klammern () einschließen.

Beispielcode:

$num1 = 10
$num2 = 5

Write-Output "$num1 + $num2 = $($num1+$num2)"

Ausgabe:

10 + 5 = 15
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell String