Командна заміна
Інший варіант - використовувати командну заміну . Обгортання команди in $()запустить команду та замінить команду її результатом.
cat $(find ./inhere -size 1033c 2> /dev/null)
стане
cat ./inhere/file1 .inhere/file3
Це більш-менш рівнозначно використанню старшого стилю загортання команд із зворотними кліщами:
cat `find ./inhere -size 1033c 2> /dev/null`
Більше деталей із документів, зв'язаних вище
Bash виконує розширення, виконуючи команду в середовищі додаткової оболонки і замінюючи підстановку команди стандартним висновком команди, при цьому будь-які затримані нові рядки видаляються. Вбудовані нові рядки не видаляються, але вони можуть бути видалені під час розбиття слів. Заміна команди $(cat file)може бути замінена на еквівалент, але швидше $(< file).
Коли старий стиль форма лапки заміщення використовуються, зворотний слеш зберігає своє буквальне значення , за винятком , коли слід $, `або \. Перша зворотна котировка, якій не передує зворотна косої риски, завершує заміну команди. При використанні $(command)форми всі символи між дужками складають команду; ніхто не лікується спеціально.
Заміни команд можуть бути вкладені. Щоб укласти гніздо під час використання зворотної форми, уникайте внутрішніх зворотних котирувань із зворотними косами.
Якщо підміна з'являється в подвійних лапках, розбиття слів і розширення імені файлів на результатах не виконується.
Дивіться цю іншу відповідь на кілька хороших прикладів використання.