powershell学習サイト
参考記事
この記事は以下の書籍を参考に執筆されました。 詳しい内容の確認はこちらからお願いいたします。
条件文(if文)
if文の書き方は以下の通り。 JavascriptやJava、C言語とif文の書き方は同じである。
if (条件式){ # 分岐A } else { # 分岐B }
サンプルコードは以下の通り。
$condition = $true if ($condition ){ Write-Output "The condition was true" } else { Write-Output "The condition was false" $condition = $false } $condition = $false if ($condition ){ Write-Output "The condition was true" }else{ Write-Output "The condition was false" }
実行結果
The condition was true The condition was false
if文の==は成立しない
Powershellで同じ値かどうかの確認では==
は使用できません。
たとえば、以下のコードはエラーになります。
$num1 = 2 if ($num1 == 2) { Write-Output "The condition was true" } else{ Write-Output "The condition was false" }
ドキュメントでも以下の様に書かれている
ps1 C# のような他の言語では、等価性のチェックに == を使用する (例:5 == $value)のが一般的ですが、 これは PowerShell では機能しません。
正直いかがなものかと思う...
if文の同値評価は「-eq」
Powershellでは==
の代わりに-eq
を使用します。
eq
とはequal(等しい、イコール)という意味です。
$num1 = 2 if ($num1 -eq 2 ){ Write-Output "The condition was true" } else{ Write-Output "The condition was false" }
逆に、等しくないは-neq
を使用します。
$value = 5 if ( 5 -ne $value ){ echo "value is not equl 5" }else{ echo "value is equl 5" } echo "chenge valu" $value = 4 if ( 5 -ne $value) { echo "value is not equl 5" }else echo "value is equl 5" }
Powershellでの比較記号一覧
以下はmicrosoftのPowershell公式ドキュメントから
- -gt(より大きい)
- -igt(より大きい、大文字と小文字が区別されない)
- -cgt(より大きい、大文字と小文字が区別される) -ge(以上)
- -ige(以上、大文字と小文字が区別されない)
- -cge(以上、大文字と小文字が区別される)
- -t(より小さい)
- -ilt(より小さい、大文字と小文字が区別されない)
- -clt(より小さい、大文字と小文字が区別される)
- -le(以下)
- -ile(以下、大文字と小文字が区別されない)
- -cle (以下、大文字と小文字が区別される)
こんなにたくさん覚えてられねぇ...
ということで抜粋。以下の4つを押さえておけば問題なさそう
- -gt(より大きい、greater thanの頭文字)
- -ge(以上、greater Equalの頭文字)
- -lt(より小さい、little thanの頭文字)
- -le(以下、little Equalの頭文字)
以下サンプルコード
$bignum = 50000 if( $bignum -gt 100 ) { echo "$bignum > 100" }
初心者の方はgtを常時使用して 大きい方を右側におく癖を付けておいた方がいいかも?
title:powershellのif文について説明する description:プログラミング言語powershellの入門サイトです。今回は第二弾、条件文編 img:https://blog.hubfly.com/wp-content/uploads/2018/12/powershell.png category_script:page_name.startswith("1")