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

Barbara Streisand
リリース: 2024-11-26 10:10:11
オリジナル
146 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート