bashのような環境変数の参照で文字列を補間する

キリル:

私のGolang CLIツールの入力文字列には、bash構文($VARおよび${VAR})で環境変数への参照がいくつかあります。例:

$HOME/somedir/${SOME_VARIABLE}dir/anotherdir-${ANOTHER_VARIABLE}

環境変数の参照を実際の値で置き換えることによってこの文字列を補間する最も効率的な方法は何ですか?前の例の場合、次のようになります。

/home/user/somedir/4dir/anotherdir-5

場合HOME=/home/userSOME_VARIABLE=4およびANOTHER_VARIABLE=5

現在、私は次のようなものを使用しています:

func interpolate(str string) string {
        for _, e := range os.Environ() {
                parts := strings.SplitN(e, "=", 2)
                name, value := parts[0], parts[1]
                str = strings.Replace(str, "$" + name, value, -1)
        }
        return str
}

しかし、このコードは${}変数を処理しません

マフィントップ:

os.ExpandEnvを使用します

s := os.ExpandEnv(
    "$HOME/somedir/${SOME_VARIABLE}dir/anotherdir-${ANOTHER_VARIABLE}")

値が環境変数から取得されない場合は、os.Expand使用できます。

m := map[string]string{
    "HOME":             "/home/user",
    "SOME_VARIABLE":    "4",
    "ANOTHER_VARIABLE": "5",
}
s := os.Expand(
    "$HOME/somedir/${SOME_VARIABLE}dir/anotherdir-${ANOTHER_VARIABLE}", 
    func(s string) string { return m[s] })

遊び場で実行します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

環境変数のPowerShellでの文字列補間

分類Dev

環境変数を表す文字列を補間する方法

分類Dev

bashと魚の間で環境変数を共有する

分類Dev

javascriptまたはtypescript文字列の変数値を補間するにはどうすればよいですか?

分類Dev

Reactの文字列変数で文字列補間を行うにはどうすればよいですか?

分類Dev

Dockerの文字列で変数補間を使用する

分類Dev

bash環境変数$-の文字はどういう意味ですか?

分類Dev

netlify.toml構成内の環境変数を補間する方法

分類Dev

文字列と整数の間で変換せずに環境変数を設定する

分類Dev

Jenkinsfileの環境変数で環境変数を使用するにはどうすればよいですか?

分類Dev

Shakeファイルパターンの環境変数をどのように補間する必要がありますか?

分類Dev

変数文字列置換で長さの環境変数を使用するにはどうすればよいですか?

分類Dev

Systemdで他の環境変数を参照する

分類Dev

bash $()で環境変数を設定できるのはなぜですか?

分類Dev

有効な変数文字が文字列内の変数の後に続く場合、PowerShell文字列補間を作成するにはどうすればよいですか?

分類Dev

環境変数文字列から複数の重複する単語(言語名)を削除するにはどうすればよいですか?

分類Dev

「aws_sns_topic_subscription」の「エンドポイント」の補間文字列で変数を使用するにはどうすればよいですか?

分類Dev

環境変数をhtmlの文字列と連結する方法

分類Dev

sedでbash文字列変数への参照を使用する

分類Dev

文字列を|で分割 Bashの文字と、最初の行から環境変数をエクスポートします

分類Dev

bashで、文字列内に動的変数を持つ変数の補間を遅らせる方法

分類Dev

最適な環境。補間された文字列の改行

分類Dev

連結せずにJavaScriptで文字列の変数を補間する方法は?

分類Dev

jsonのような環境変数をdockerrunに渡す方法

分類Dev

bashの先頭桁で環境変数を設定する

分類Dev

他の変数を参照するLinux環境変数

分類Dev

ルートの永続的な環境変数を設定するにはどうすればよいですか?

分類Dev

ルートの永続的な環境変数を設定するにはどうすればよいですか?

分類Dev

変数の文字列補間

Related 関連記事

  1. 1

    環境変数のPowerShellでの文字列補間

  2. 2

    環境変数を表す文字列を補間する方法

  3. 3

    bashと魚の間で環境変数を共有する

  4. 4

    javascriptまたはtypescript文字列の変数値を補間するにはどうすればよいですか?

  5. 5

    Reactの文字列変数で文字列補間を行うにはどうすればよいですか?

  6. 6

    Dockerの文字列で変数補間を使用する

  7. 7

    bash環境変数$-の文字はどういう意味ですか?

  8. 8

    netlify.toml構成内の環境変数を補間する方法

  9. 9

    文字列と整数の間で変換せずに環境変数を設定する

  10. 10

    Jenkinsfileの環境変数で環境変数を使用するにはどうすればよいですか?

  11. 11

    Shakeファイルパターンの環境変数をどのように補間する必要がありますか?

  12. 12

    変数文字列置換で長さの環境変数を使用するにはどうすればよいですか?

  13. 13

    Systemdで他の環境変数を参照する

  14. 14

    bash $()で環境変数を設定できるのはなぜですか?

  15. 15

    有効な変数文字が文字列内の変数の後に続く場合、PowerShell文字列補間を作成するにはどうすればよいですか?

  16. 16

    環境変数文字列から複数の重複する単語(言語名)を削除するにはどうすればよいですか?

  17. 17

    「aws_sns_topic_subscription」の「エンドポイント」の補間文字列で変数を使用するにはどうすればよいですか?

  18. 18

    環境変数をhtmlの文字列と連結する方法

  19. 19

    sedでbash文字列変数への参照を使用する

  20. 20

    文字列を|で分割 Bashの文字と、最初の行から環境変数をエクスポートします

  21. 21

    bashで、文字列内に動的変数を持つ変数の補間を遅らせる方法

  22. 22

    最適な環境。補間された文字列の改行

  23. 23

    連結せずにJavaScriptで文字列の変数を補間する方法は?

  24. 24

    jsonのような環境変数をdockerrunに渡す方法

  25. 25

    bashの先頭桁で環境変数を設定する

  26. 26

    他の変数を参照するLinux環境変数

  27. 27

    ルートの永続的な環境変数を設定するにはどうすればよいですか?

  28. 28

    ルートの永続的な環境変数を設定するにはどうすればよいですか?

  29. 29

    変数の文字列補間

ホットタグ

アーカイブ