Tentando passar um objeto JSON de um script de shell para outro.
Se eu enviar um objeto JSON com um valor, ele funcionará com o seguinte:
objectStorageCupsConfigData='{\"containerName\":""\"$objectStorageContainerDev\"}'
Mas se eu adicionar outro valor ao objeto JSON, obtenho-o no formato errado:
objectStorageCupsConfigData=''{\"containerName\":""\"$objectStorageContainerDev\",\"number2\":""}''
objectStorageCupsConfigData='{\"containerName\":""\"$objectStorageContainerDev\",\"number2\":""}'
Primeiro script de shell faz isso
objectStorageCupsConfigData='{\"containerName\":""\"$objectStorageContainerDev\",\"number2\":""}'
createCUPS "aa-contact-bags-objectStorage-config" "$objectStorageCupsConfigData"
O script com a função:
function createCUPS() {
serviceName=$1
serviceData=$2
set +e
cf service $serviceName
echo $serviceData
cf uups $serviceName -p $serviceData
set -e
return 0
}
O resultado com dois parâmetros:
{
"\\"encryptionKey\\":\"\"\\"$encryptionKey\\"}": "",
"{\\"containerName\\":\"\"\\"$objectStorageContainerDev\\"": ""
}
Tags cloud json shell-script