ホームページ  >  記事  >  バックエンド開発  >  Go プログラムから組み込み Linux コマンドを実行するにはどうすればよいですか?

Go プログラムから組み込み Linux コマンドを実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-26 10:10:11147ブラウズ

How to Execute Built-in Linux Commands from Go Programs?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。