Różnica między eval a backticks (odwrotny apostrof)
Czy ktoś może mi powiedzieć, jaka jest tutaj duża różnica i dlaczego ta druga nie działa?
test="ls -l"
Obie teraz działają poprawnie:
eval $test
echo `$test`
Ale w tym przypadku:
test="ls -l >> test.log"
eval $test
echo `$test`
Ten ostatni nie zadziała. Dlaczego? Wiem, że eval wykonuje skrypt, podczas gdy apostrofy go wykonują i zwracają wynik jako ciąg. Co sprawia, że korzystanie z niego jest niemożliwe>>
lub podobne rzeczy do wykonania w poleceniu? Może jest jakiś sposób, aby działał z apostrofami i robię coś nie tak?