2011. 2. 21. 17:43

PowerShell 문법

변수

 C:\> $h = 1
 C:\> $world = "1"
 C:\> $1234 = "hi"
 C:\> $변수 =23
 C:\> $h
          1
 C:\> [int]$h = "234"
 C:\> $h
          234
 C:\> [string]$h = 234
 C:\> $h
          234

변수타입 강제

[int] , [char] , [string] ,[xml]

 배열

PS C:\> $a = @(1,2,3)
PS C:\> echo $a
1
2
3
PS C:\> echo $a[0]
1
PS C:\> $a = @((1,2,3), (5,6,8))
PS C:\> echo $a
1
2
3
5
6
8
PS C:\> echo $a[1][1]
6

 산술연산자

 + - * / %

증감연산자 ++ , --

 PS C:\> $a=1
PS C:\> $b = $a++
PS C:\> echo $b
1

 

 활당연산자

= , += , -= /= %=

 

비교 연산자

-eq      ==

-ne      !=

-gt      >

-ge     >=

-lt       <

-le      <=

  

 C:\> 1 -eq 2
        False
 C:\> if( $a -lt $b) {echo b$}
 C:\> if( $a -gt $b) {echo b$}
       b$

 

조건문

if($a -lt $b)
   
{echo $a}
elseif
    ($a -eq $b)
    {echo b$}
else {echo a$}

 반복문

 for( $i = 0; $i -lt 5 ; $i++)

{

echo $i

}

 

 $b = 1,2,3,4

foreach($a in $b)

{

echo $a

}

 

$a = 1

while($a -lt 10)

{

echo $a

$a++

}

 

 

do{} whil($a -lt 10) 조건이 참일동안 반복

do{} until($a -gt 10) 조건이 거짓일 동안 반복

 

continue , break

 

분기문

switch( $a)

{

"1" {echo 1}

"2" { echo 2}

default {echo 0}

}

 

논리연산자

if(($a -eq 1) -and ( $b -eq 2))

{

echo $a

}

 

함수

function fun

{

echo "asdf"

echo $args[0]

}

 

fun 1

 

 

 스크립트 실행및 리턴값처리

PS C:\> Get-Content a.ps1
function asdf
{
        echo "asdf asdf"
        return 100
}

return asdf asdfd
PS C:\> $a = ./a.ps1
PS C:\> $a
asdf asdf
100
PS C:\> echo $a
asdf asdf
100

 

 호출 연산자

$a = “Get-Process”

&$a

$a = { Get-Process | Select -First 2 }

&$a

 

 메서드 호출

$a = “문자열입니다.”

$a.ToUpper()

$a.SubString(0,3)

$a.SubString(0,($a.length/2))

$a.Substring(($a.length/2), ($a.length/3))

 

 

 

Windows PowerShell 자동 변수(Exhaustive 아님)

$$

이전 명령줄의 마지막 토큰

$?

마지막 명령의 부울 상태

$^

이전 명령줄의 번째 토큰

$_

현재 파이프라인 개체

$Args

스크립트 또는 함수의 인수

$Error

이전 명령의 오류 배열

$Foreach

foreach 루프의 열거자에 대한 참조

$Home

사용자의 디렉터리(일반적으로 %HOMEDRIVE%\%HOMEPATH% 설정)

$Host

POWERSHELL 언어를 호스트하는 응용 프로그램에 대한 참조

$Input

스크립트로 파이프된 개체의 열거자

$LastExitCode

마지막 프로그램 또는 스크립트의 종료 코드

$Matches

–match 연산자로 검색한 일치 항목의 해시 테이블

$PSHome

Windows PowerShell 설치 위치

$profile

표준 프로필(없을 수도 있음)

$StackTrace

Windows PowerShell에서 발견한 마지막 예외

$Switch

switch 문의 열거자

 
출처
http://mech12.springnote.com/pages/3102442