Подстановка команд в bash против вызова функций - PullRequest
0 голосов
/ 30 апреля 2020

Я пишу сценарий оболочки из книги. И есть пример, где я создаю функцию и позже вызываю эту функцию с помощью $ (имя_функции). Но насколько я знаю, я могу вызвать функцию, просто написав ее имя. Так в чем же разница между вызовом функции с ее именем или с $ (function_name)?

1 Ответ

2 голосов
/ 30 апреля 2020

$(...) называется подстановкой команды.

Проще говоря, function_name напечатает вывод, готово.

$(function_name) вывод из функции станет частью (обычно в качестве аргумента) в качестве новой команды, которую нужно выполнить.

echo "ls"  #<--- assume this is the function

Откройте терминал и попробуйте, вы поймете это лучше:

echo "ls"

и

$(echo "ls")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...