終了しないリターンを使用したリモートジョブの実行

ゴードン

さまざまな状況でリモートとローカルの両方で実行しているスクリプトがあります。遠隔地の状況では、いくつかの追加の仕事情報を返したいと思います。ただし、スクリプトは、再起動、ログオフなどで完了する必要もあります。

ただし、Iの場合Return $Results、次のコードは実行されません。一方、Write-Host情報を返す、それはジョブの追加データと見なされ、次のスクリプト完了コードは引き続き実行できます。

私はこれを機能させることができますが、2つの問題が発生します。

  1. 返す必要のあるデータが2ビットありますが、これは配列で行う予定でした。しかし、Write-Host私はのクラッジを使用してから$value1|$value2、|で文字列を分割する必要があります2ビットのデータを取得します。
  2. Write-Host コンソールを多少汚染するので、それを管理するために追加のコードが必要です。

中間情報を返し、実行を継続する方法はありますか?それとも私はWrite-Hostルートに行くしかないのでしょうか?それとも、Write-Hostハックよりも優れた別のアプローチはありますか?

アンスガーウィーチャーズ

return関数(?)が何かを返すようにするには、キーワードを使用する必要があるという印象を受けているようですただし、PowerShellの動作は少し異なります。PowerShell関数は、キャプチャされていない出力全体を成功出力ストリームに返します。returnキーワードだけでは、特定の時点での関数の戻り値を作るためです。

違いはありません

function Foo {
  return 'something'   # return with value
}

そして

function Foo {
  'something'
  return               # echo first, then return
}

そして

function Foo {
  'something'          # just echo, return implicitly
}

そうすれば、関数に出力を生成させてから、実際に戻る前にさらに多くのことを行うことができます。

function Foo {
  'foo'
  'bar'
  Get-ChildItem . -Recurse | Out-Null  # output not returned (suppressed)
  'baz' > 'C:\some.txt'                # output not returned (redirected to file)
}

'foo', 'bar'ただし、呼び出し元は、関数呼び出しが戻った後にのみ、戻り値(この場合を受け取ります。すぐにフィードバックが必要な場合は、他の手段が必要になります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

EFリレーショナルテーブルを使用したリポジトリパターンの実装

分類Dev

「クリーンアップ」の実行:ジョブが失敗しました:終了ステータス1

分類Dev

リポジトリ パターンで一般的な検索オプションを実行したい

分類Dev

リモートjarファイルを使用して実行ジョブをフリンクします

分類Dev

拡張パネルを使用して角度マテリアルデータテーブルを単体テストすると、アニメーションが実行されないか、アニメーションの終了が検出されませんか?

分類Dev

Set-Variableを使用したリモートコンピューターでの実行ポリシー

分類Dev

sshセッションを強制終了した後もリモートプロセスが実行されるのはなぜですか?

分類Dev

モジュールの解析に失敗しました:vue-loaderでyarnrunストーリーブックを実行中に予期しない文字「@」

分類Dev

依存ジョブ/複数の必要な実行時間を持つジョブを使用した加重間隔スケジューリング

分類Dev

ApacheFlinkでストリーミングジョブを作成してKafka-> Flink-> HIVEを実行したい

分類Dev

paramiko sshクライアントを使用して、リモートに配置されたsshスクリプトをパラメータで実行できない

分類Dev

JenkinsGerrit-ジョブの実行が成功した後に+1が検証されたことをレポートしないトリガー

分類Dev

長いcronジョブが並行して実行されるのを防ぐための一般的なソリューション?

分類Dev

sudoを使用してインストールされたアプリケーションをsudoなしで実行できないのはなぜですか?

分類Dev

リモートコンピューターからSSHを使用してスクリプトを実行し、リモートコンピューターがオフラインになった場合の中断を回避する方法

分類Dev

JPAを使用してデータを挿入した後、アプリケーションが終了しない

分類Dev

ubuntu14.04を使用してPythonPyQt4アプリケーションのDockerイメージを作成しました。コンテナーを実行すると、DockerホストのIPとインターフェイスにアクセスしたい

分類Dev

例外「リモートオブジェクトは不正なリモートインターフェースを実装しています」?

分類Dev

java.rmi.server.ExportException:リモートオブジェクトが不正なリモートインターフェースを実装しています

分類Dev

「無効なメモリアドレスまたはnilポインターの逆参照」実行ユニットテストを実行していますか?

分類Dev

イベントベースの設計でAzureBatchを使用し、終了したジョブを終了/クリーンアップする方法

分類Dev

スクリプトが必要以上に古いバージョンのインタープリターを実行している場合、スクリプトを終了させるにはどうすればよいですか?

分類Dev

SSISパッケージ-SQLジョブエージェントを介してトリガーされたときにスクリプトタスクが実行されない

分類Dev

スプリングブートアプリケーションの上でCXFを使用してSwaggerを実行できない

分類Dev

SwiftUI TabViewを使用してInstagramアプリの中央ボタンのようなモーダルトランジションを実行するにはどうすればよいですか?

分類Dev

単純なオブジェクトを使用した複雑なC#オブジェクトのカスタムセリリゼーション

分類Dev

切断時にリモートコンピューターで実行中のコマンドが終了しないようにする

分類Dev

makeコマンドを実行した後、リモートマシンで実行されているシェルスクリプトが終了します

分類Dev

実行後にサービスを破棄しない Quartz ジョブの HK2 ファクトリ

Related 関連記事

  1. 1

    EFリレーショナルテーブルを使用したリポジトリパターンの実装

  2. 2

    「クリーンアップ」の実行:ジョブが失敗しました:終了ステータス1

  3. 3

    リポジトリ パターンで一般的な検索オプションを実行したい

  4. 4

    リモートjarファイルを使用して実行ジョブをフリンクします

  5. 5

    拡張パネルを使用して角度マテリアルデータテーブルを単体テストすると、アニメーションが実行されないか、アニメーションの終了が検出されませんか?

  6. 6

    Set-Variableを使用したリモートコンピューターでの実行ポリシー

  7. 7

    sshセッションを強制終了した後もリモートプロセスが実行されるのはなぜですか?

  8. 8

    モジュールの解析に失敗しました:vue-loaderでyarnrunストーリーブックを実行中に予期しない文字「@」

  9. 9

    依存ジョブ/複数の必要な実行時間を持つジョブを使用した加重間隔スケジューリング

  10. 10

    ApacheFlinkでストリーミングジョブを作成してKafka-> Flink-> HIVEを実行したい

  11. 11

    paramiko sshクライアントを使用して、リモートに配置されたsshスクリプトをパラメータで実行できない

  12. 12

    JenkinsGerrit-ジョブの実行が成功した後に+1が検証されたことをレポートしないトリガー

  13. 13

    長いcronジョブが並行して実行されるのを防ぐための一般的なソリューション?

  14. 14

    sudoを使用してインストールされたアプリケーションをsudoなしで実行できないのはなぜですか?

  15. 15

    リモートコンピューターからSSHを使用してスクリプトを実行し、リモートコンピューターがオフラインになった場合の中断を回避する方法

  16. 16

    JPAを使用してデータを挿入した後、アプリケーションが終了しない

  17. 17

    ubuntu14.04を使用してPythonPyQt4アプリケーションのDockerイメージを作成しました。コンテナーを実行すると、DockerホストのIPとインターフェイスにアクセスしたい

  18. 18

    例外「リモートオブジェクトは不正なリモートインターフェースを実装しています」?

  19. 19

    java.rmi.server.ExportException:リモートオブジェクトが不正なリモートインターフェースを実装しています

  20. 20

    「無効なメモリアドレスまたはnilポインターの逆参照」実行ユニットテストを実行していますか?

  21. 21

    イベントベースの設計でAzureBatchを使用し、終了したジョブを終了/クリーンアップする方法

  22. 22

    スクリプトが必要以上に古いバージョンのインタープリターを実行している場合、スクリプトを終了させるにはどうすればよいですか?

  23. 23

    SSISパッケージ-SQLジョブエージェントを介してトリガーされたときにスクリプトタスクが実行されない

  24. 24

    スプリングブートアプリケーションの上でCXFを使用してSwaggerを実行できない

  25. 25

    SwiftUI TabViewを使用してInstagramアプリの中央ボタンのようなモーダルトランジションを実行するにはどうすればよいですか?

  26. 26

    単純なオブジェクトを使用した複雑なC#オブジェクトのカスタムセリリゼーション

  27. 27

    切断時にリモートコンピューターで実行中のコマンドが終了しないようにする

  28. 28

    makeコマンドを実行した後、リモートマシンで実行されているシェルスクリプトが終了します

  29. 29

    実行後にサービスを破棄しない Quartz ジョブの HK2 ファクトリ

ホットタグ

アーカイブ