Выполнять команду каждую минуту навсегда, используя date.

В строке 1 команда в обратных кавычках отправляет свой стандартный вывод в цикл for ... . Он ничего не выводит на экран, если не возникла ошибка одной из команд (например, ls может пожаловаться на отсутствие пути к каталогу).

grep в строке 3 действительно записывает в stdout . Возможно, вам нужен флаг -q для тихого режима.

Я пытаюсь понять, что вы на самом деле пытаетесь сделать, потому что я думаю, что с этим, вероятно, можно справиться гораздо проще:

for item in atk/*
do
    test -d "$item" && echo "${item/*\/}" | grep -Fvf atk/versions
done

Кстати, использование обратных кавычек для интерполяции команд больше не считается хорошим стилем кодирования. Лучше использовать конструкцию $ (...) . Например, для версии в $ (ls ... awk)

1
02.11.2015, 19:54
0 ответов

Теги

Похожие вопросы