ホームページ > バックエンド開発 > Golang > Go から Bash スクリプトを効果的に実行するにはどうすればよいですか?

Go から Bash スクリプトを効果的に実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-26 07:04:09
オリジナル
688 人が閲覧しました

How to Execute Bash Scripts from Go Effectively?

Go から Bash スクリプトを実行する

課題

Go から bash スクリプトを実行するには、os/exec パッケージを使用しようとしましたが、スクリプト パスまたはそのパスの入力で問題が発生しました。コンテンツを引数として指定します。このスクリプトは変数を設定し、特定のタスクを実行します。

解決策

Go から bash スクリプトを正常に実行するには、次の手順を検討してください:

前提条件

  • bash スクリプトを確認する#!/bin/sh または #!/bin/bash で始まります。
  • chmod x を実行してスクリプトを実行可能にします。

OS を使用する/exec パッケージ

os/exec を使用したい場合は、コードを次のように変更します。

cmd := exec.Command("/bin/sh", mongoToCsvSH)
out, err := cmd.Output()
ログイン後にコピー

ここで、「/bin/sh」はスクリプトを実行するインタープリタを示し、その後に bash スクリプト mongoToCsvSH へのパスが続きます。

代替アプローチ

os/exec を使用する代わりに、次のコードを利用して、 script:

import (
    "io/ioutil"
    "os"
)

func main() {
    content, err := ioutil.ReadFile("mongoToCsvSH.sh")
    if err != nil {
        log.Fatal(err)
    }

    err = os.WriteFile("run.sh", content, 0755)
    if err != nil {
        log.Fatal(err)
    }

    cmd := exec.Command("./run.sh")
    cmd.Run()
}
ログイン後にコピー

このアプローチでは、bash スクリプトの内容を読み取り、実行可能権限 (chmod 0755) を使用して一時的な「run.sh」ファイルに書き込み、それを実行します。

以上がGo から Bash スクリプトを効果的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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