package
1.23.0
Repository: https://github.com/shogo82148/std.git
Documentation: pkg.go.dev

# Functions

Commandは、指定されたプログラムを 与えられた引数で実行するための [Cmd] 構造体を返します。 それは返される構造体の中でPathとArgsだけを設定します。 nameにパスセパレータが含まれていない場合、Commandは [LookPath] を使用して 可能な場合にはnameを完全なパスに解決します。それ以外の場合、nameを 直接Pathとして使用します。 返されるCmdのArgsフィールドは、コマンド名に続くargの要素から構築されます。 したがって、argにはコマンド名自体を含めないでください。例えば、Command("echo", "hello")。 Args[0]は常にnameで、解決されたPathではありません。 Windowsでは、プロセスはコマンドライン全体を単一の文字列として受け取り、 自身でパースします。CommandはArgsを結合し、引用符で囲んで、 CommandLineToArgvWを使用するアプリケーションと互換性のあるアルゴリズムで コマンドライン文字列にします(これが最も一般的な方法です)。注目すべき例外は、 msiexec.exeとcmd.exe(したがって、すべてのバッチファイル)で、これらは異なる アンクォートアルゴリズムを持っています。これらまたは他の類似のケースでは、 自分で引用符を付けてSysProcAttr.CmdLineに完全なコマンドラインを提供し、 Argsを空にすることができます。.
CommandContextは [Command] と同様ですが、contextが含まれています。 提供されたcontextは、コマンドが自身で完了する前にcontextがdoneになった場合、 プロセスを中断するために使用されます(cmd.Cancelまたは [os.Process.Kill] を呼び出す)。 CommandContextは、コマンドのCancel関数をそのProcessのKillメソッドを呼び出すように設定し、 WaitDelayは未設定のままにします。呼び出し元は、コマンドを開始する前にこれらのフィールドを 変更することでキャンセルの振る舞いを変更することができます。.
LookPathは、PATH環境変数で指定されたディレクトリ内の実行可能なファイルを検索します。 もしファイルがスラッシュを含んでいる場合、直接試みられ、 PATHは参照されません。 成功すると、結果は絶対パスになります。 Goの古いバージョンでは、LookPathは現在のディレクトリに対する相対パスを返すことができました。 Go 1.19以降では、LookPathはそのパスとともに、[errors.Is](err, [ErrDot])を満たすエラーを返します。 詳細はパッケージのドキュメンテーションを参照してください。.

# Variables

ErrDotは、パスの検索が「.」がパスに含まれているために、 現在のディレクトリ内の実行可能ファイルに解決したことを示します。 これは暗黙的または明示的に行われます。詳細はパッケージのドキュメンテーションを参照してください。 このパッケージの関数はErrDotを直接返さないことに注意してください。 コードはerr == ErrDotではなく、errors.Is(err, ErrDot)を使用して、 返されたエラーerrがこの条件によるものかどうかをテストする必要があります。.
ErrNotFoundは、パスの検索が実行可能なファイルを見つけられなかった場合のエラーです。.
ErrWaitDelayは、プロセスが成功したステータスコードで終了するが、 コマンドのWaitDelayが期限切れになる前にその出力パイプが閉じられない場合、 [Cmd.Wait] によって返されます。.

# Structs

Cmdは、準備中または実行中の外部コマンドを表します。 Cmdは、[Cmd.Run]、[Cmd.Output]、または [Cmd.CombinedOutput] メソッドを呼び出した後では再利用できません。.
Errorは、[LookPath] がファイルを実行可能なものとして分類できなかったときに返されます。.
ExitErrorは、コマンドによる成功しない終了を報告します。.