LINUX.ORG.RU

В bash цикл while останавливается, если в теле цикла есть выполнение ssh


0

1

Есть такой код:

#!/bin/bash
ssh root@$server "cat /home/dimon/list | grep '^comp" | while read LINE
do
        type=`echo $LINE | awk {'print $2'}`
        path=`echo $LINE | awk {'print $3'}`

        DIR_EXISTS=`ssh root@$server "test -d $path" && echo 0 || echo 1`
done
Такой код в цикле исполнится только один раз. Если убрать строчку с DIR_EXISTS, то цикл выполнится нужное количество раз.

Суть в том, что я хочу на удалённой машине проверить существование каталога. Почему скрипт себя так ведёт? Есть ли какие-то другие способы проверить существование удалённого каталога? Очень желательно по ssh

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