Go からの組み込み Linux コマンドの実行
exec.Command(" を使用して Linux 上のプログラムの存在を確認しようとするときcommand"、"-v"、"foo") 構文を使用すると、「command」が正しくないことを示すエラーが発生する場合があります。 $PATH にあります。これは、「コマンド」が実行可能バイナリではなく、組み込みの Linux シェル組み込みであるためです。
Go から組み込みコマンドを実行するには、いくつかのオプションがあります:
1. exec.LookPath の使用:
提供された記事で提案されているように、exec.LookPath 関数を使用して、実行する必要があるコマンドの $PATH を検索できます。
path, err := exec.LookPath("command") if err != nil { // Handle error } // Use path to execute the command
2.外部シェル呼び出しの使用:
または、次の構文を使用してシェル内からコマンドを呼び出すこともできます:
exec.Command("/bin/bash", "-c", "command -v foo")
これにより、内部に組み込まれている「コマンド」が実行されます。 Bash シェル。
3.シェル実行の使用:
複数のコマンドを実行するか、より複雑な操作を実行する必要がある場合は、os/exec.Command 関数を使用してシェル スクリプトを実行できます:
cmd := exec.Command("sh", "my-script.sh") cmd.Run()
これにより、現在のシェルで my-script.sh の内容が実行されます。
以上がGo から Linux 組み込みコマンドを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。