Dostęp do zmiennych środowiskowych, które nie odwzorowują poprawnych nazw zmiennych powłoki

Próbuję dowiedzieć się, jak rozsądnie i przenośnie (w miarę możliwości) radzić sobie ze zmiennymi środowiskowymi o nazwach, które nie odwzorowują poprawnych zmiennych powłoki. Bardzo ważne jest, aby wyniki były dokładne bajt po bajcie, więc nie chcę przechodzić przez hacki, takie jak parsowanie danych wyjściowychenv narzędzie.

env 'Invalid Name=Some Value' bash <<'EOF'
s='Invalid Name'
printf '%q\n' "${!s}"
EOF

Mam nadzieję, że powyższy kod będzie emitowanySome Value; zamiast tego zwraca pusty ciąg.

questionAnswers(1)

yourAnswerToTheQuestion