Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 27 May 24 11:30:58, всего сообщений: 10756
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 5961 из 10756 ===================================== RU.UNIX.BSD =
От   : Victor Sudakov                   2:5005/49          18 Aug 17 08:54:22
Кому : Yury Ivliev                                         18 Aug 17 08:54:22
Тема : test(1) и sh
FGHI : area://RU.UNIX.BSD?msgid=2:5005/49+59964a29
На   : area://RU.UNIX.BSD?msgid=<1187507865@ddt.demos.su>+4fdfce5d
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================
Dear Yury,

17 Aug 17 15:35, you wrote to me:
VS>> В результате выполнения команды
VS>>
VS>> FOO=`bar`
VS>>
VS>> в переменной $FOO оказывается либо несколько строчек результата,
VS>> либо просто newline (0x0a).
YI> Что за странный shell?

Шелл обычный /bin/sh, просто я неверно интерпретировал результат, в IRC уже разобрались.

Есть разница между
sh -cx 'test -n  $LIST'
и
sh -cx 'test -n "$LIST"'

поэтому при пустом $LIST *без* *кавычек* test и срабатывал не так, как я ожидал.

YI> Если в результате, кторый выводит bar нет значимых пустых строк, то
YI> можно сделать: FOO=`bar|grep -v '^$'` Тогда в FOO должен оказаться
YI> либо значимый вывод bar, либо пустая строка.

В конечном итоге сделал лучше, через цикл

for FOO in `bar` ; do ...

В этом случае при пустом выводе `bar` цикл просто ни разу не отрабатывает, а при непустом столько раз, сколько строчек результата у `bar`.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
* Origin: Ulthar (2:5005/49)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.092559 секунды