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.