in

Apprentissage des variables, entrées et sorties PowerShell

À mesure que nous nous éloignons de la simple exécution de commandes et que nous passons à l’écriture de scripts complets, vous aurez besoin d’un emplacement temporaire pour stocker les données. C’est là que les variables entrent en jeu.

Assurez-vous de lire les articles précédents de la série:

Et restez à l’écoute pour le reste de la série toute la semaine.

Variables

La plupart des langages de programmation autorisent l’utilisation de variables, qui sont simplement des conteneurs contenant des valeurs. Dans PowerShell, nous avons aussi des variables et elles sont vraiment faciles à utiliser. Voici comment créer une variable appelée «FirstName» et lui donner la valeur «Taylor».

$ FirstName = « Taylor »

La première chose que la plupart des gens semblent se demander est pourquoi nous mettons un signe dollar devant le nom des variables, et c’est en fait une très bonne question. En réalité, le signe dollar est juste un petit indice pour le shell que nous voulons accéder au contenu de la variable (pensez à ce qu’il y a à l’intérieur du conteneur) et non au conteneur lui-même. Dans PowerShell, les noms de variables n’incluent pas le signe dollar, ce qui signifie que dans l’exemple ci-dessus, le nom des variables est en fait «FirstName».

Dans PowerShell, vous pouvez voir toutes les variables que vous avez créées dans la variable PSDrive.

Variable gci:

Ce qui signifie que vous pouvez également supprimer une variable du shell à tout moment:

Variable de suppression d’élément: FirstName

Les variables ne doivent pas non plus contenir un seul objet; vous pouvez tout aussi facilement stocker plusieurs objets dans une variable. Par exemple, si vous souhaitez stocker une liste de processus en cours d’exécution dans une variable, vous pouvez simplement lui affecter la sortie de Get-Process.

$ Proc = Get-Process

L’astuce pour comprendre cela est de se rappeler que le côté droit du signe égal est toujours évalué en premier. Cela signifie que vous pouvez avoir un pipeline entier sur le côté droit si vous le souhaitez.

$ CPUHogs = Get-Process | Trier CPU -Descendant | sélectionnez -Premier 3

La variable CPUHogs contiendra désormais les trois processus en cours d’exécution utilisant le plus de CPU.

Lorsque vous avez une variable contenant une collection d’objets, il y a certaines choses à prendre en compte. Par exemple, l’appel d’une méthode sur la variable entraînera son appel sur chaque objet de la collection.

$ CPUHogs.Kill ()

Ce qui tuerait les trois processus de la collection. Si vous souhaitez accéder à un seul objet de la variable, vous devez le traiter comme un tableau.

$ CPUHogs[0]

Cela vous donnera le premier objet de la collection.

Ne vous faites pas prendre!

Les variables dans PowerShell sont faiblement typées par défaut, ce qui signifie qu’elles peuvent contenir n’importe quel type de données, cela semble attirer les nouveaux arrivants dans PowerShell tout le temps!

$ a = 10

$ b = «20»

Nous avons donc deux variables, l’une contient une chaîne et l’autre un entier. Alors, que se passe-t-il si vous les ajoutez? Cela dépend en fait de l’ordre dans lequel vous les ajoutez.

$ a + $ b = 30

Tandis que

$ b + $ a = 2010

Dans le premier exemple, le premier opérande est un entier, $ a, donc PowerShell pense que vous essayez de faire des mathématiques et essaie donc de convertir tous les autres opérandes en entiers. Cependant, dans le deuxième exemple, le premier opérande est une chaîne, donc PowerShell convertit simplement le reste des opérandes en chaînes et les concatène. Les scripts plus avancés empêchent ce genre de piège en convertissant la variable dans le type attendu.

[int]$ Number = 5
[int]$ Number = ‘5’

Ce qui précède entraînera à la fois la variable Number contenant un objet entier avec une valeur de 5.

Entrée et sortie

Étant donné que PowerShell est destiné à automatiser les choses, vous voudrez éviter d’inviter les utilisateurs à fournir des informations dans la mesure du possible. Cela dit, il y aura des moments où vous ne pourrez pas l’éviter, et pour ces moments, nous avons l’applet de commande Read-Host. Son utilisation est vraiment simple:

$ FirstName = Read-Host –Prompt ‘Entrez votre prénom’

Tout ce que vous entrez sera alors enregistré dans la variable.

L’écriture de la sortie est tout aussi simple avec l’applet de commande Write-Output.

« How-To Geek Rocks! »

Rejoignez-nous demain où nous lions tout ce que nous avons appris ensemble!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment empêcher votre Roku de parler dans les menus

Comment empêcher votre Roku de parler dans les menus

Comment activer la répétition des touches dans macOS