Bash Shell Piping $ () против прямой команды - PullRequest
0 голосов
/ 27 мая 2020

Newb ie для программирования оболочки.

Чтобы запустить команду и поместить ее вывод в переменную, мы используем:

var=$(command)

В чем разница с конвейером перенаправления между командами и $ (команда).

Работает :

command | while read line
do
  echo $line
done

Ошибка

$(command) | while read line
do
  echo $line
done

1 Ответ

1 голос
/ 27 мая 2020

A Подстановка команды выполняется в подоболочке , а результат выход затем помещается в команду original . Итак, в основном вы связываете это;

$(command)        | while read line    # Example
result-of-command | while read line    # Bash reads

Подробнее о подстановке команд в tldp или unix .stackexchange

...