poewrshellの「&」の意味とは
Sal
powershell powershellにおけるアンパサンドは「実行演算子」と呼ばれる役割が与えられており文字列をコードとして認識して実行することができます。

poewrshellの「&」の意味とは

  1. poewrshellの「&」の意味とは!?
  2. を使ったサンプルコード
  3. # メタプログラミングと呼びます
  4. &に隠されたもう一つの意味
## poewrshellの「&」の意味とは!?
まずこのアンドマークには別名が存在しており 名前を「アンパサンド」という powershellにおけるアンパサンドは「実行演算子」と呼ばれる役割が与えられており 文字列をコードとして認識して実行することができます。
## を使ったサンプルコード
&を使った実験です。 サンプルコードではGet-Processを文字列として変数$string_codeに格納し二つの方法 表示します。 パターンA:通常の文字列として表示 パターンB: コードとして実行し出力 Get-Processは""で囲まれているので文字列として普段は評価されますが、&を先頭に付け ることでコードとして評価できるようになるのです。
 
#"パターンA:通常の文字列として出力" 
$string_code = "Get-Process"

#"パターンB: コードとして実行して出力” 
$string_code 

& $string_code 
実行結果
 
パターンA:通常の文字列として出力 
Get-Process

パターンB: コードとして実行して出力 
Handles NPM(K) PM (K) WS (K)
CPU(s) Id SI Process Name

257 373
3540 9792
170000 aesm_service 12536 30108 1.20 9956 1 ApplicationFrame Host 147 1956 4496
58600 armsvc 369 5516 11788
58520 ast_CCore 127 1372 4588
10256 0 ast_CCoreComp
このようにコード内にあるコードを実行するプログラミングを
## # メタプログラミングと呼びます
プログラミングのテクニックとしてはかなり高等技術です。
## &に隠されたもう一つの意味
powershellパンパサンドにはもう一つの役割が与えられております。 それはバックグランドでの実行です。 バックグラウンドの実行とはユーザーから見えないところで実行してくれる仕組みのことです。 サンプルコード
 
Get-Process -Name pwsh & 
実行例(一例)
 
発生場所 行:1 文字:24 + Get-Process -Name pwsh & アンパサンド(&)文字は許可されていません。
& 演算子は、今後使用するために予約されています。
アンパサンドを二重引用符で囲 み(&")、文字列の一部として渡してください。 
しかし近年はバックグラウンド処理を目的とした&の実行は推奨されておらず 代わりにStart-Jobコマンドを使うことをおすすめしています。
Start-Job -ScriptBlock {Get-Process -Name pwsh} 
title:poewrshellの「&」の意味とは description:powershellにおけるアンパサンドは「実行演算子」と呼ばれる役割が与えられており文字列をコードとして認識して実行することができます。 img:https://boeprox.files.wordpress.com/2016/01/image2.png category_script:page_name.startswith("16")