Go プログラムからの組み込み Linux コマンドの実行
Go プログラム内でシェル コマンドを実行しようとすると、組み込みコマンドで問題が発生する可能性があります。従来のバイナリとは異なり、$PATH には見つかりません。この記事では、Go プログラム内から組み込み Linux コマンドを実行する方法について説明します。
この例では、exec.Command() を使用して「command -v foo」を直接実行すると、コマンドが組み込みシェルであるために失敗します。関数。これに対処するには、いくつかのアプローチがあります。
exec.LookPath
組み込みコマンドを検索するためのネイティブ Go サポートは、exec.LookPath を通じて利用できます。この関数は、システムの PATH で実行可能ファイルを検索し、見つかった場合はその完全なパスを返します。見つかったら、このパスを使用してコマンドを実行できます。
exec.Shell Wrapper を使用したコマンド
直接実行できない場合は、システムのシェルを利用できます。組み込みコマンドを実行します。これは、次のようなシェル コマンドでコマンドをラップすることで実現できます。
exec.Command("/bin/bash", "-c", "command -v foo")
ここで、「/bin/bash -c」ラッパーは、シェル内でコマンドを実行するようにシステムに指示し、ビルドされたコマンドを実行します。 -in コマンドにアクセス可能。
以上がGo プログラムから組み込み Linux コマンドを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。