特殊変数(1)
以下のページで特殊変数について詳しく書かれています。
Special Variables
「$true」「$false」「$null」
最も基本的な特殊変数は「$true」「$false」「$null」の3つです。
それぞれ、
- Boolean TRUE
- Boolean FALSE
- A null object
を表します。
「$_」
「$_」はパイプを通して渡されるオブジェクトを格納します。
foreachやwhereと一緒に利用する頻度が高いですね。
「$_」のサンプル:プロセス名一覧を列挙する
MSH C:\> get-process | foreach{$_.Name}
「$^」「$$」
「$^」と「$$」は、直前に実行されたシェルの最初のトークン/最後のトークンを格納します。
「$^」「$$」のサンプル
MSH C:\> get-process | where {$_.Name -like "w*"} Handles NPM(K) PM(K) WS(K) VS(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 418 69 6220 2136 38 12.94 176 WINLOGON 129 16 1092 680 24 4.02 1376 WinMgmt MSH C:\> $^ get-process MSH C:\> $$ }
「$?」
「$?」は最後に実行されたシェルの結果(success/fail)を格納します。
「$?」のサンプル
MSH C:\> $a = get-process MSH C:\> $? True MSH C:\> $a = get-processs 'get-processs' is not recognized as a Cmdlet, function, operable program, or script file. At line:1 char:17 + $a = get-processs <<<< MSH C:\> $? False