Wait for PersistentVolumeClaim:

while [[ $(kubectl get pvc myclaim -o 'jsonpath={..status.phase}') != "Bound" ]]; do echo "waiting for PVC status" && sleep 1; done

Here, myclaim is the PVC name and it will wait till PVC is in Bound status


Wait for pod:

while [[ $(kubectl get pod nginx -o 'jsonpath={.status.conditions[?(@.type=="Ready")].status}') != "True" ]]; do echo "waiting for POD status" && sleep 1; done


Note: Add -n <namespace> if  PVC or POD is not in default namespace.