В bash (и многих других оболочках) $ ()
используется для получения вывода команды и использования его как аргументы другой команды.
Вот что он делает:
Сначала выполните cat
:
1
2
3
Затем замените блок $ ()
следующим:
echo 1
2
3
Теперь оболочке нужно интерпретировать этот ввод и отправить правильные аргументы в echo
. Для этого он должен разделить 1
, 2
и 3
словами: здесь удаляются новые строки.
Наконец, оболочка отправляет следующее:
Программа: echo
Аргументы: 1
2
3
Это отобразит то, что вы видели:
1 2 3
Поскольку, когда echo
имеет несколько аргументов, он отображает их все, разделенные пробелом.