LINUX.ORG.RU

done <<< $(cmd)

хватит всякую фигню постить ради скора

sdio ★★★★★
()

rain@elitebook:~$ echo $BASH_VERSION
4.1.5(1)-release

УМВР

YAR ★★★★★
()

Проверь '#!/bin/bash', или не переводится ли у тебя по какой-либо другой причине в 'POSIXLY_CORRECT'.

ABW ★★★★★
()
Ответ на: комментарий от ABW

В том то и дело, что в начале явно указано #!/bin/bash

конструкция используется в lxc-ps

Теперь все ясно. bash как sh не понимает такую конструкцию :(

sh lxc-ps .. - ошибка, а bash lxc-ps работает.

Интересно зачем использовать такую конструкцию ? Есть какое-то приемущество перед cmd | while read ... ?

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Интересно зачем использовать такую конструкцию

Единственное, что приходит в голову: while не выносится в субшелл, и можно в теле цикла установить какую-либо переменную, которая будет видна в скрипте после его окончания.

ABW ★★★★★
()
Ответ на: комментарий от ABW

Если бы после этой конструкции были бы какие-то действия, тогда да, но это последнее действие.

А за POSIXLY_CORRECT спасибо.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

cmd | while это то же самое, что, к примеру, cat file | grep ...

Соответственно, while ... done < cmd в данном примере аналогичен правильному grep ... file.

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

это то же самое, что, к примеру, cat file | grep ...

Ушлепанство? Не понятно, не вижу ничего плохого в cmd | while.

anonymous
()
Ответ на: комментарий от vel

А за POSIXLY_CORRECT спасибо.

Я советую man bash и google abs, например, чтобы не выуживать банальные вещи по нубо-форумам.

anonymous
()

У тебя пробел между < <

visual ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.