Mam wiersza koduPrzechowywanie wyjście bash do zmiennej przy użyciu eval
eval echo \$$var
która drukuje ciąg. Jak mogę zapisać ten ciąg w zmiennej?
Mam wiersza koduPrzechowywanie wyjście bash do zmiennej przy użyciu eval
eval echo \$$var
która drukuje ciąg. Jak mogę zapisać ten ciąg w zmiennej?
Jak to:
eval c=\$$var
lepszym, bezpieczniejszym sposobem jest użycie zadnie:
c=${!var}
newVariable=$(eval echo \$$var)
To wydaje się działać, ale powoduje to, że wartość ma znak dolara jako pierwszą postać? Próbowałem \ $ var, ale zmienne w moim ciągu nie są już rozszerzane. Jakieś pomysły? –
'\' jest znakiem escape, jeśli umieścisz go przed '$', to na pewno skończysz. Spróbuj '$ var'. Lub użyj drugiego przykładu w poście powyżej. – hashier
Może to osiągnąć stosując powrotem cytat - `
c=`$var
To wystarczy! – CocaCola
Dziękuję za to! Zmagałem się, by zmienić zmienną w powłoce burty na dobre kilka godzin. Późniejsza opcja zawiera wiele miejsc, ale działa tylko w 'bash', ale ta pierwsza działa również w' sh'. – DanielM