Switch-Process
Linux および macOS では、このコマンドレットは関数を execv()
呼び出して POSIX シェルと同様の動作を提供します。
構文
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
説明
一部のネイティブ Unix コマンドでは、何らかの操作 (ssh など) を実行し、bash
の組み込みのコマンド exec
を使用して、現在のものを置き換える新しいプロセスを生成します。 既定では、exec
は PowerShell の有効なコマンドではありません。 これは、AzCLI の copy-ssh-id
や一部のサブコマンドなど、いくつかの既知のスクリプトに影響します。
このコマンドレットは Switch-Process
、POSIX シェルと同様の動作を提供するためにネイティブ execv()
関数を呼び出します。 このコマンドレットとそのエイリアスは、 exec
PowerShell 7.3.0 で追加されました。
PowerShell 7.3.1 では、exec
エイリアスが Switch-Process
をラップする関数に変更されました。 関数を使用すると、WithCommand パラメーターに誤ってバインドされている可能性のあるパラメーターをネイティブ コマンドに渡すことができます。
このコマンドレットは、Windows 以外のシステムでのみ使用できます。
例
例 1 - 'exec' に依存するコマンドを実行する
この例では、PowerShell が Windows 以外のシステムの既定のシェルであることを前提としています。 ssh-copy-id
は、キーベースの認証のためにターゲット マシンに公開キーをデプロイするための一般的な bash スクリプトです。 スクリプトは bash コマンド exec
によって異なります。
ssh-copy-id user@host
この機能を PSExec
有効にすると、スクリプトは ssh-copy-id
成功します。
パラメーター
-WithCommand
実行するネイティブ実行可能ファイル (およびすべてのパラメーター) を指定します。 引数として渡されるすべての追加値は、最初のコマンドで実行される文字列の配列として渡されます。
ターゲット コマンドは、PowerShell コマンドではなくネイティブ実行可能ファイルである必要があります。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
String[]
出力
メモ
互換性を Switch-Process
提供 exec
するために作成されたコマンドレットは、他の POSIX シェルです。 通常の条件下では、コマンドレットは PowerShell スクリプトで使用することを意図していません。 Switch-Process
は、ファイル記述子の処理方法など、POSIX シェルの exec
組み込み関数と同等の機能を持ちませんが、ほとんどの場合に対応する必要があります。
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示