Разница между eval и backticks (обратный апостроф)

Может кто-нибудь сказать мне, в чем здесь большая разница и почему последний нет работаешь?

test="ls -l"

Оба теперь работают нормально:

eval $test
echo `$test`

Но в этом случае:

test="ls -l >> test.log"

eval $test
echo `$test`

Последний не будет работать. Это почему? Я знаю, что eval просто выполняет скрипт, в то время как апострофы исполняют его и возвращают результат в виде строки. Что делает невозможным использование>> или подобный материал внутри команды для выполнения? Может быть, есть ли способ заставить его работать с апострофами, и яя делаю что-то не так?

Ответы на вопрос(2)

Ваш ответ на вопрос