I'm trying to execute a for loop in bash script where I have the requirement to pass two variables. I'm currently using the below for loop without success.
IFS=',' ;for componentId in `echo "${componentIds}"`, packageVersion in `echo "${packageVersions}"`;
do
notes="${saveNotes}"
deployNotes="${saveNotes}"
packageVersion=`echo "${packageVersion}" | xargs`
savePackageVersion="${packageVersion}"
componentId=`echo "${componentId}" | xargs`
saveComponentId="${componentId}"
componentType="${saveComponentType}"
listenerStatus="${saveListenerStatus}"
envId=${saveEnvId}
source bin/createSinglePackage.sh componentId=${componentId} componentType="${componentType}" packageVersion="${packageVersion}" notes="${notes}" extractComponentXmlFolder="${extractComponentXmlFolder}" componentVersion=""
done
So I want to iterate the above for loop with both componentId and packageVersion variables using command substitution where the values of ${componentIds} and ${packageVersions} are already set as env variables. So I'm just trying to echo that and get the output. The output values of these variables are delimited by , and hence the IFS=','
When i execute my current script it complains about missing parameter packageVersion.
Any suggestions to address this would be quite helpful, thank you!!