Interpolation de chaîne dans PowerShell
- Que sont les variables dans PowerShell ?
- Interpolation de chaîne dans Windows PowerShell
- Interpolation de chaîne avec des variables d’environnement dans PowerShell
- Interpolation de chaîne avec des caractères d’échappement dans PowerShell
- Interpolation de chaîne à l’aide de variables avec des caractères spéciaux dans PowerShell
- Interpolation de chaîne à l’aide d’un opérateur de sous-expression dans PowerShell
L’interpolation de chaîne dans Windows PowerShell remplace la valeur d’une variable par des espaces réservés dans une chaîne. De plus, le processus d’interpolation de chaîne affiche la valeur de la variable dans la chaîne.
L’interpolation de chaîne Windows PowerShell fournit une syntaxe plus lisible, plus facile à lire et plus pratique pour créer une chaîne formatée. Cet article traite de l’utilisation de variables lors de l’interpolation de chaînes dans Windows PowerShell.
Que sont les variables dans PowerShell ?
Avant de discuter de l’interpolation des chaînes Windows PowerShell, nous devons d’abord discuter de l’une des exigences essentielles pour y parvenir : les variables Windows PowerShell.
Comme écrit dans la documentation officielle de Microsoft, une variable est une unité de mémoire dans laquelle les valeurs de nombreux types de données sont stockées. Dans Windows PowerShell, les variables sont représentées par des chaînes qui commencent par un signe dollar $
.
$my_var = "Hello World!"
Nous utiliserons ces variables pour effectuer une interpolation de chaîne dans Windows PowerShell.
Interpolation de chaîne dans Windows PowerShell
Comprenons avec un exemple pour connecter une chaîne à l’aide de l’interpolation de chaîne dans Windows PowerShell.
Exemple de code :
$company = "XYZ Company"
Write-Output "Welcome to $company"
Dans le script PowerShell ci-dessus, la variable $company
contient la valeur de chaîne XYZ Company
.
Entre guillemets doubles ""
, Windows PowerShell interpole le nom de la variable de chaîne et affiche le résultat ci-dessous dans l’instruction suivante.
Production :
Welcome to XYZ Company
Si nous mettons un nom de variable entre guillemets simples ''
, il affichera le nom de la variable à la place, comme indiqué ci-dessous.
Exemple de code :
$company = "XYZ Company"
Write-Output 'Welcome to $company'
Production :
Welcome to $company
Cette sortie se produit parce que tout ce qui est entouré d’un guillemet simple traite tout ce qu’il contient comme une expression littérale. Assurez-vous donc que vous utilisez des guillemets doubles lors de l’interpolation d’une chaîne.
Interpolation de chaîne avec des variables d’environnement dans PowerShell
Les variables d’environnement, représentées par la variable Env:
dans Windows PowerShell, stockent l’environnement et les programmes du système d’exploitation. Ces informations incluent le chemin du système d’exploitation, l’emplacement du répertoire d’installation de Windows, le nombre de processus utilisés par le système d’exploitation, et bien plus encore.
Dans Windows PowerShell, les variables d’environnement peuvent être interpolées dans une chaîne comme les autres variables standard.
Exemple de code :
Write-Output "My computer name: $Env:COMPUTERNAME"
Dans le script PowerShell ci-dessus, $Env: COMPUTERNAME
affiche une valeur de variable entre guillemets doubles et la concatène avec une chaîne.
Production :
My computer name: WINDOWS-PC01
Interpolation de chaîne avec des caractères d’échappement dans PowerShell
Bien que nous ayons discuté du fait que nous devrions utiliser des guillemets doubles lors de l’interpolation de chaîne, certains cas où le fait de placer une variable entre guillemets doubles ne donne pas les résultats escomptés. Les caractères d’échappement en sont un exemple.
Un caractère d’échappement est un type de caractère qui invoque une interprétation alternative des caractères suivants dans une séquence de caractères. Les caractères d’échappement sont courants parmi les langages de programmation car certains symboles sont utilisés lorsqu’ils sont compilés par programme.
Par exemple, dans Windows PowerShell, un signe dollar $
est l’un des opérateurs les plus couramment utilisés pour définir une variable. Nous utiliserons le signe dollar comme exemple ci-dessous.
Exemple de code :
$price = 99
Write-Output "Discounted Price: $$price"
Dans le script Windows PowerShell ci-dessus, $price
entre guillemets doubles ne donne pas le résultat attendu, car l’environnement de script interprète différemment les signes dollar double $$
.
Production :
Discounted Price: Discounted Price: $$priceprice
Utilisez le caractère d’échappement Windows PowerShell pour l’interpolation de chaîne ci-dessous pour obtenir la sortie souhaitée.
Exemple de code :
$price = 99
Write-Output "Discounted Price: `$$price"
Production :
Discounted Price: $99
Interpolation de chaîne à l’aide de variables avec des caractères spéciaux dans PowerShell
Comme mentionné, les noms de variables qui commencent par un signe dollar $
peuvent inclure des caractères alphanumériques et des caractères spéciaux.
La meilleure pratique de définition des variables consiste à n’inclure que des caractères alphanumériques et le caractère de soulignement _
. Les noms de variable qui incluent d’autres caractères spéciaux, y compris des espaces, sont difficiles à utiliser et doivent être évités.
Cependant, nous ne disons pas qu’il est impossible d’utiliser des variables avec des caractères spéciaux. Si la situation ne peut pas éviter cela, nous pouvons utiliser le signe dollar et les accolades ${}
pour échapper tous les caractères spéciaux, y compris les espaces, dans un nom de variable.
Exemple de code :
${this is a variable!} = "Hello"
Write-Output "${this is a variable!} World!"
Production :
Hello World!
Interpolation de chaîne à l’aide d’un opérateur de sous-expression dans PowerShell
Dans Windows PowerShell, nous pouvons utiliser l’opérateur de sous-expression $()
pour exécuter une expression dans une expression comme l’interpolation de chaîne. Pour ce faire, nous entourons l’expression que nous exécutons d’un signe dollar et de parenthèses ()
.
Exemple de code :
$num1 = 10
$num2 = 5
Write-Output "$num1 + $num2 = $($num1+$num2)"
Production :
10 + 5 = 15
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArticle connexe - PowerShell String
- Vérifier si une chaîne est vide en PowerShell
- Vérifier si une chaîne n'est pas NULL ou VIDE en PowerShell
- Extraction d'une sous-chaîne dans PowerShell
- Échapper aux guillemets simples et aux guillemets doubles dans PowerShell
- Joindre le chemin pour combiner plus de deux chaînes dans un chemin de fichier dans PowerShell
- Fractionner une chaîne en variables distinctes dans PowerShell