Нет, это не одно и то же. Рассмотрим команду echo
. Ожидаете ли вы, что
echo hello asleea
и
printf "asleaa\n" | echo hello
произведут одно и то же? В случае top ... $ (...)
оболочка сначала запускает материал внутри $ (...)
и помещает вывод в список аргументов для когда он запускается вверху
.
Конечно, top
можно было бы записать для чтения дополнительных значений из стандартного ввода, если вы дали ему флаг, который требовал аргумента, но не дал ему его, но это не так, как это реализовано .