$GHREPO
引用符付き文字列から環境変数()の値を取得するのに問題があります。これが私が実行するコマンドです。j["ChgSub"][$GHREPO][0]["Major"]
環境変数として$ GHREPO値を使用してディレクトリを作成しようとしています。
mkdir `cat ../dummy.json |
ruby -rjson -e 'j = JSON.parse($stdin.read); puts j["ChgSub"][$GHREPO][0]["Major"].to_s'`
編集:dummy.jsonコンテンツ
{
"ChgSub": {
"ecx": [
{
"Major": 0,
"Minor": 0,
"Patch": 3
}
]
}
}
ベストアンサー1
変数は一重引用符で囲まれた文字列内では評価されません。二重引用符を使用する必要があります。文字列全体に二重引用符を使用できない場合、または使用したくない場合は、文字列の対応する部分にのみ二重引用符を使用できます。
ruby -rjson -e 'j = JSON.parse($stdin.read); puts j["ChgSub"]["'"$GHREPO"'"][0]["Major"].to_s'
これは3つの隣接する別々の引用文字列です。
'j = JSON.parse($stdin.read); puts j["ChgSub"]["'
そして
"$GHREPO"
そして
'"][0]["Major"].to_s'