LINUX.ORG.RU

Помогите лоху в решении задачки

 ,


0

1

Условие задачи: Имеется некоторая программа, которая выдает текстовую информацию в консоль. Необходимо написать скрипт, который, не мешая работе основной программы, вылавливал бы эту информацию и выполнял некоторые действия.

Скрипт, который бы читал информацию с консоли и выполнял действия, я написал. Теперь не могу понять как его запустить, чтобы он работал одновременно с программой. Если я запускаю скрипт, то не могу запустить программу, и наоборот. Подскажите, пожалуйста, как решить эту задачу или ткните ссылкой в аналогичный пример. Заранее благодарю всех откликнувшихся и желающих помочь.

Ответ на: комментарий от I-Love-Microsoft

А есть возможность бесконечного цикла? Я пытаюсь использовать типовые из bash, но скрипт на их матерится. Вы не использовали цикл while?

vash_sa
() автор топика

можно попробовать screen -L -dmS prog «progname param param2 ... paramN» и потом парсить screenlog.

Подробнее - man screen

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

Не знаю, в pexpect кажись было, как в обычном expect не знаю, да там за пол часа можно свой expect навелосипедить, что я и сделал, на Qt.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от vash_sa

Expect имеет синтаксис Tcl. Бесконечный цикл в нём выглядит так:

while 1 {
код внутри цикла
}

Открывающая скобка '{' должна быть на той же строке, что и while.

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

Добрый день! Помогите еще разок. В скрипте с expect создал бесконечный цикл с помощью while 1 { } Внутри цикла нужно запустить исполняемый файл. Пытаюсь с помощью spawn, но скрипт ругается так: invoked from within. Если эту строку выношу за цикл, то работает. Подскажите, как сделать, чтобы файл запускался внутри цикла?

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

Если исполняемый файл, запускаемый внутри цикла, не тот, чей вывод нужно отслеживать с помощью expect, то вместо spawn надо использовать exec.

gorky ★★
()
30 июля 2015 г.
Ответ на: комментарий от vash_sa

Приветствую всех знатоков! Подскажите, как не выводить на экран результат работы утилиты lshw -numeric и других консольных приложений, скриптов. За помощь заранее СПАСИБО!

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

Подскажите, как не выводить на экран результат работы утилиты lshw -numeric

очевидно, не запускать их!

// по теме: перенаправление ввода-вывода

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

Хватит некропостить, создай отдельный тред. И опиши по-нормальному задачу, я так и не понял что надо сделать с выводом.

А еще лучше было бы прочитать документацию или хотя бы краткое руководство по bash, там такие вопросы разбираются в секции с примерами обычно.

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

Возможно «lshw -numeric &> /dev/null» - считается аргументом. Я предлагаю записать команду в скрипт и перенаправлять его вывод.

crutch_master ★★★★★
()
5 октября 2015 г.
Ответ на: комментарий от Dark_SavanT

Всем доброго времени суток. Профи подскажите, пожалуйста, как ограничить созданного пользователя пределами только его директории. Задача пользователя корректировать текстовые файлы, находящиеся в его каталоге, а не лазить по всей файловой системе. Заранее благодарю. Особо сильно не ругайтесь по поводу пользования Google, и man, мне просто надо решить маленькую задачку, а не стать профессионалом linux.

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