私はpowershellの初心者です。今日、私は非常に簡単なことを試しました
Alias | sls -Pattern 'echo'
生産されましechoたが、私が欲しいのはAlias echo -> Write-Outです。
bashでは、次のことができます
alias | grep 'echo'
私の質問は、なぜslsうまくいかないのかということです。ところで、 に置き換えるslsと、うまくいきfindstrました。
私はpowershellの初心者です。今日、私は非常に簡単なことを試しました
Alias | sls -Pattern 'echo'
生産されましechoたが、私が欲しいのはAlias echo -> Write-Outです。
bashでは、次のことができます
alias | grep 'echo'
私の質問は、なぜslsうまくいかないのかということです。ところで、 に置き換えるslsと、うまくいきfindstrました。
特定の名前のエイリアスを取得したい場合は、次のようにします。
alias -name echo
echo -> Write-Outは次のとおりDisplayNameです。
(alias -name echo).DisplayName
このGet-Aliasコマンドは一連のオブジェクトを返します。各オブジェクトは単一のコマンド エイリアスを表します。CommandTypePowerShell で表示すると、これらのオブジェクトは、、NameおよびModuleNameプロパティを含むテーブルとしてフォーマットされます。
にパイプするfindstrと、フィルタリングされるのはこれらの列の文字列表現であるため、一致するとテーブル行全体が表示されます。
Alias echo -> Write-Output
各オブジェクトにパイプすると、コマンドレットのパラメーターSelect-Stringにバインドされます。テキストを操作するため、受け取ったオブジェクトを呼び出してその文字列表現を取得するだけです。-InputObjectSelect-StringSelect-StringToString
ToStringプロパティのみを返しNameます。これは、次を実行することで確認できます。
alias | %{$_.tostring()}
したがって、からSelect-Stringの一致はエイリアス名でのみ一致します。