Mais ces exemples sont un peu vains, le PowerShell est un langage orienté objets et plus haut niveau que Bash, avec une syntaxe plus clean.
A noter l'autocomplétion très bien foutue du PowerShell sous Windows 10, avec un équivalent ncurse proposant les différentes options et arguments. Faites ctrl-espace pour l'essayer, le menu est ensuite navigable au clavier.
Mieux, l'autocomplétion Intellisense. Par exemple :
$svc = get-service
$[svc]. < tab >
Et hop, toutes les méthodes et propriétés applicables aux objets de la variable s'affichent, ici des services.
Autre truc sympa, certaines méthodes de sysadmin. Exemple, supprimer tous les programmes contenant "runtime" :
$apps = Get-WmiObject win32_product | where name -match "runtime"
$apps | %{ $_.uninstall}
Dans cet exemple PS voit que $apps est de type array, juste l'invoquer va donc envoyer les entrées de l'array dans un pipe, dont la sortie sera énumérée par une boucle foreach (%).
$_ est la sortie du pipe, que l'on peut réutiliser autant que l'on souhaite.
Evidemment, on pourrait autant faire un
for i in $(rpm -qa | grep runtime); do rpm -e $i; done
Mais au niveau syntaxe, c'est autrement moins bien foutu.
Autre truc sympa en PS, le typage statique :
[int]$i = 42
$test = 42ドル.tostring() + 2
$test
422
$test.GetType()
String
Et pour ne rien oublier, il y a aussi la longue liste d'alias linux. Faites un man ps pour le fun. :-)
[^] # Re: Tu vends du rêve
Posté par theor . En réponse au journal Microsoft: Powershell libéré. Évalué à 4.
Get-NetIPAddress | select ipaddress
Mais ces exemples sont un peu vains, le PowerShell est un langage orienté objets et plus haut niveau que Bash, avec une syntaxe plus clean.
A noter l'autocomplétion très bien foutue du PowerShell sous Windows 10, avec un équivalent ncurse proposant les différentes options et arguments. Faites ctrl-espace pour l'essayer, le menu est ensuite navigable au clavier.
Mieux, l'autocomplétion Intellisense. Par exemple :
$svc = get-service
$[svc]. < tab >
Et hop, toutes les méthodes et propriétés applicables aux objets de la variable s'affichent, ici des services.
Autre truc sympa, certaines méthodes de sysadmin. Exemple, supprimer tous les programmes contenant "runtime" :
$apps = Get-WmiObject win32_product | where name -match "runtime"
$apps | %{ $_.uninstall}
Dans cet exemple PS voit que $apps est de type array, juste l'invoquer va donc envoyer les entrées de l'array dans un pipe, dont la sortie sera énumérée par une boucle foreach (%).
$_ est la sortie du pipe, que l'on peut réutiliser autant que l'on souhaite.
Evidemment, on pourrait autant faire un
for i in $(rpm -qa | grep runtime); do rpm -e $i; done
Mais au niveau syntaxe, c'est autrement moins bien foutu.
Autre truc sympa en PS, le typage statique :
[int]$i = 42
$test = 42ドル.tostring() + 2
$test
422
$test.GetType()
String
Et pour ne rien oublier, il y a aussi la longue liste d'alias linux. Faites un man ps pour le fun. :-)