linux 循环基本,Powershell基础教程:变量、循环、基本命令

本文介绍Powershell的基础知识。

一、准备工作

检查当前执行策略

Get-ExecutionPolicy [-list]

修改执行策略

Set-ExecutionPolicy {Unrestricted | RemoteSigned | AllSigned | Restricted }

Restricted – 不可运行Powershell脚本,只能使用命令行交互模式。

AllSigned – 只有经过可信发布者签名的脚本才可运行。

RemoteSigned – 远程脚本需要可信发布者签名才可运行,本地脚本可直接运行。

Unrestricted – 所有脚本均可运行。

注释符号

Powershell中的注释符号为(#)。

# 注释

转义字符

Powershell中的转义字符为上前引号(`),位于键盘左上角的按键。

`n# 换行

二、变量

获取成员函数或变量

$var | Get-Member

Get-ChildItem | Get-Member

获取变量类型

$var.GetType()

数组

数字下标的数组:

os=@(" linux ", " windows ")os +=@("mac")

Write-Host os [1]# print windows

Write-Hostos# print array values

Write-Host $os.Count# length of array

键值对数组:

user =@{

"frodeh" = "Frode Haug";

"ivarm" = "Ivar Moe"

}user += @{"lailas" = "Laila Skiaker"}

Write-Host user ["ivarm"]# print Ivar Moe

Write-Host @user# print array values

Write-Host @user.Keys# print array keys

Write-Hostuser.Count# print length of array

新建对象

myhost = New-Object PSObject - Property @{

os="";

sw=@();

user =@{}

}myhost.os= "linux"

myhost.sw +=@("gcc", "flex", "vim")myhost.user +=@{

"frodeh" = "Frode Haug";

"monicas" = "Monica Strand"

}

Write-Host myhost.os

Write-Hostmyhost.sw[2]

Write-Host $myhost.user["monicas"]

三、输入(input)

命令行参数

Write-Host "first arg is" $args[0]

从命令行输入

something = Read-Host "Say something here"

Write-Host "you said "something

通过管道输入

Write-Output "hey hey !" | .\input-pipe.ps1

通过Get-Content命令打开文件

$file = Get-Content hello.txt

Write-Host @file -Separator "`n"

通过命令获取环境信息

name = (Get-WmiObject Win32_OperatingSystem).Namekernel = (Get-WmiObject Win32_OperatingSystem).Version

四、条件与循环

条件判断操作符

Operator

Meaning

-lt

Less than

-gt

Greater than

-le

Less than or equal to

-ge

Greater than or equal to

-eq

Equal to

-ne

Not equal to

-not

Not

!

Not

-and

And

-or

Or

if-elseif-else

if ( a -gt b ) {

...;

} elseif ( b -gt c ) {

...;

} else {

...;

}

switch

short = @{ yes ="y"; nope ="n";}ans = Read-Host

switch ( ans ) {

yes { Write-Host "yes"; break}

nope { Write-Host "nope "; break }

default { Write-Host "ans `??? "}

}

Where-Object/Where/?

Get-ChildItem | ? {$_.Length -gt 1KB}

Foreach-Object/Foreach/%

files = Get-ChildItem "D:\"

foreach (file in files ) {

Write-Hostfile.Name

}

或者

Get-ChildItem "D:\" | % {

$_.Name

}

input | % {foo += @(_)

}

Write-Host "size of foo is "foo.Count

for

for (i = 1;i -le 3; i++) {

Write-Host "i"

}

while

while (i -le 3) {

Write-Hosti

$i ++

}

References:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值