私はyamlをJsonに解析しようとしています。 と私は文字列のインデックスを持つ配列を設定したいと思います。なぜ '算術演算子が無効です'というエラーが発生しますか?
私は私がここでエラー
を得、それを試してみましたが、私のソースとエラー
keys=$(echo $ci_json | jq 'keys')
key_array=($keys)
ARR=()
for raw_key in ${key_array[@]}; do
if [ $raw_key = '[' -o $raw_key = ']' ]; then
continue;
else
key=$(echo $raw_key | sed -e 's/"//g' -e 's/,//g')
value=$(echo $ci_json | jq .$key)$'\t'
ARR[$key]=$value
fi
done
エラーですV:localhost.localdomainを:構文エラー:無効な算術演算子(エラー・トークンがある「.localdomain」 )
このエラーは、 "ARR [$キー] = $値" で登場
誰が私を助け?
これでミリアンペアキーリスト:
APP_TYPE APP_USE ASSETS_NO ASSETS_STAT ASSETS_TYPE BIZ_GROUP BIZ_L1 BIZ_L2 CI_COMMENT CI_NO CI_OWNER CI_PARENT CPU_CLOCK CPU_CORE CPU_MODEL CPU_NUM CPU_VENDOR DB_ADMIN1 DB_ADMIN2 DEV_ADMIN DEV_ADMIN2 DISUSE_DATE ENTER_DATE EXPIRE_DATE HDD_MODEL HDD_NUM HDD_TYPE HDD_VENDOR HDD_VOL HOLE_NO HOSTNAME IDC INTO_DATE MAINT_CORP MAINT_DATE MEM_MODEL MEM_NUM MEM_VENDOR MEM_VOL MODEL NIC1_IP NIC1_MAC NIC1_PORT NIC1_SW NIC2_IP NIC2_MAC NIC2_PORT NIC2_SW NIC_MODEL NIC_VENDOR OOB_IP OOB_MAC OOB_PORT OOB_SW OS_ARCH OS_KERNEL OS_NAME ラック RACK_NO RAID_CACHE RAID_FIRM RAID_MODEL RAID_NO RAID_VENDOR 表明 SC_ADMIN SC_CATEGORY SC_DEPT SC_TYPE SEND_DATE SERIAL_NO たserver_class SIM SPEC_CODE SVC_GROUP SVC_L1 SVC_L2 SYS_ADMIN SYS_ADMIN2 UNIT USE_DESC VENDOR VM_CLASS VM_TYPE assignType
正確に何をしようとしていますか?同じJSONを生成するためにYAMLの構文解析について言及しますが、入力を解析するには 'jq'を使用しています。あなたの入力はどのように見え、期待される出力は何ですか?実際には、「bash」が少ないデータほど、有効な入力でコードが破られる可能性は高くなります。 – chepner
私がやろうとしているのは、プロトコルを送信してYAMLデータを取得してからYAMLをJSONに変更することです。私はJSONをYAMLよりも解析しやすいと考えています。そのため私はjqを使用しています。私はYAMLをJSONに変更することができました。私は、文字列インデックスを持ち、JSONからのデータを持つ配列を設定したいと思います。私は "ARR [$ key] = $ value"のような配列を設定できると思っていますが、試してみるとエラーが発生します。私は悪い英語のために申し訳ありません.. –