をザ・スクリプト -は、シェルを使用してJSONファイルを読み、私は、ファイルに次のデータを持っている
{"a" : "10", "b" : "20", "c" : "30"}
私は、この変数の値を読んだとき -
eval "_value_=\"`cat hello1`\""
echo $_value_
{a : 10, b : 20, c : 30}
に等しいです。私はjq -r
を使ってこれを読むことができません。 値でも二重引用符を読み取ることができます。
をザ・スクリプト -は、シェルを使用してJSONファイルを読み、私は、ファイルに次のデータを持っている
{"a" : "10", "b" : "20", "c" : "30"}
私は、この変数の値を読んだとき -
eval "_value_=\"`cat hello1`\""
echo $_value_
{a : 10, b : 20, c : 30}
に等しいです。私はjq -r
を使ってこれを読むことができません。 値でも二重引用符を読み取ることができます。
ないあなたが何を意味するか、あるが、それはhello1
が含まれているファイルのように聞こえる:
{"a" : "10", "b" : "20", "c" : "30"}
を、あなたが_value_
と呼ばれる変数にそれを取得したいです。その場合は、あなただけの操作を行います。
_value_=$(< hello1)
は次に、あなたが行うことができます:hello1ファイルの
内容::
echo "$_value_"
{"a" : "10", "b" : "20", "c" : "30"}
ここでポータブルPOSIX溶液(なしbashismsが)だ
{"a" : "10", "b" : "20", "c" : "30"}
POSIXシェルコード:
_value_="$(cat "hello1")"
echo "$_value_"
出力:
{"a" : "10", "b" : "20", "c" : "30"}
私はあなたがeval
を使用したい理由はわかりません。このコマンドは非常に危険です。特に、読んでいるファイルの内容が完全にわからない場合は、あなたは、単に(これはあなたのJSON入力与えられた可能性は低いと思われる)の変数は、解釈が必要な場合GNU envsubstの使用を検討してください:
_value_="$(envsubst < "hello1")"
echo "$_value_"
http://stackoverflow.com/questions/20488315/read-the-json-data-in-shell-script – Bharat
これは別の質問です。ファイルを読んでいる間は二重引用符が必要です。 –
私の答え、または他の何かがあなたの問題を整理しましたか?もしそうなら、それをあなたの答えとして受け入れることを検討してください - 投票数の横にある緑色のチェックマーク/チェックマークをクリックしてください。そうでない場合は、私が、または他の誰かがあなたをさらに助けることができるように、何がうまくいかないと言ってください。ありがとう。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –