私は最近、Powershellの関数の名前がscriptblocksであることを発見しました。たとえば、ダッシュで参照するコマンド名
function HelloWorld {
Write-Output "Hello world"
}
$hw = $function:HelloWorld
& $hw
HelloWorldメソッドを実行します。
function Hello-World {
Write-Output "Hello world"
}
$hw = $function:Hello-World
You must provide a value expression on the right-hand side of the '-' operator.
At line:1 char:27
+ $hw = $function:Hello- <<<< World
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
任意のアイデア:
はしかし、私が把握することができていないものを、どのようにそれの名前にダッシュを持つメソッドへの参照を取得するのですか?
私はのような何かを行うことができることを承知している:
$hw = (Get-Item function:Hello-World).ScriptBlock
をしかし、それは少し「うるさい」だと私は$関数の構文
これは私にとっては機能しません。 $ {function:Get-Item}を実行すると何も得られません – digitguy