none
スクリプトファイルの開始関数 RRS feed

  • 質問

  • お世話になります。

    ls | .\test.ps1

    を実行するとして、

    test.ps1内には、複数のfunctionが実装されているとして、

    次の内容なことをしたいのですが、どのようすればパイプラインからのデータをmain関数に渡せますか?
    ls | .test.ps1(main関数コール → main関数実行 →・・・)

    ##test.ps1開始

    function sub(){     process{ write-host $_.name}}

    function main(){     process{ write-host $_.name | sub }}

    main

    ##test.ps1終了




    • 編集済み Brillia 2015年7月3日 8:42
    2015年7月3日 8:39

回答

  • いくつか方法はありますが、例えば、

    function sub(){process{write-host $_.name}}
    function main(){process{$_ | sub }}
    $input | main

    のように、$input変数を用いる方法はいかがでしょうか。

    $input変数にはパイプライン経由で渡されたオブジェクト(配列)が格納されています。

    • 回答としてマーク Brillia 2015年7月7日 2:40
    2015年7月3日 8:58
    モデレータ