LINUX.ORG.RU

Как заставить работать xargs с интерактивной программой?


0

0

Как заставить работать xargs с интерактивной программой, например с apt-get? Имею файл, содержащий список пакетов, которые я хочу удалить: #cat del telnet tftp # Пишу конструкцию: #cat del | xargs apt-get remove но после запроса Do you want to conginue ? [Y/n] вылетает Abort. Я так понимаю, что xargs посылет eof, который и обрабатывает apt-get. Так как в таком случае заставить работать xargs? P.S. Вопрос принципиальный и варианты типа "не используй xargs, а убей все вручную" не предлагать, так как apt-get просто взят для примера, в качестве интерактивной программы, которая должна взаимодействовать с xargs.

anonymous

В удобочитаемой форме:

Как заставить работать xargs с интерактивной программой, например с apt-get?
Имею файл, содержащий список пакетов, которые я хочу удалить:
#cat del
telnet
tftp
#
Пишу конструкцию:
#cat del | xargs apt-get remove
но после запроса
Do you want to conginue ? [Y/n]
вылетает Abort.
Я так понимаю, что xargs посылет eof, который и обрабатывает apt-get. Так как в таком случае заставить работать xargs?
P.S.
Вопрос принципиальный и варианты типа "не используй xargs, а убей все вручную" не предлагать, так как apt-get просто взят для примера в качестве интерактивной программы, которая должна взаимодействовать с xargs.

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

to sdio:

Спасибо за ответ.
Но только я еще раз повторяю, что мой вопрос не в том, как удалить группу пакетов, а в том, как заставить работать xargs с интерактивной программой... Неужели невозможно?

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

to sdio:

Сергей,

Забудь об apt-get! Я же написал в самом первом сообщении, что apt-get взят просто в качестве примера. Речь идет о некой программе, которая ожидает ввод с клавиатуры. Вопрос заключается в том, как убрать eof который посылает xargs? Понимаешь?

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

Я тебе тоже написал первым словом "Никак"
Интерактивная программа ждет ввод с STDIN, a там /dev/null

xargs -a del apt-get remove

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

T.e. если xargs берет данные из файла, а не из Stdin, то все будет как ты и просил.

sdio ★★★★★
()

есть специальная прога для этих целей.

не помню правда как называется, но есть, это точно.

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

to gr-buza:

Ты наверное имеешь в виду expect?
Нет, это не то.
Мы сейчас говорим об xargs.

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

$ xargs --version
GNU xargs version 4.2.25

$ man xargs
 --arg-file=file, -a file
     Read items from file instead of standard input.  If you use this
     option, stdin remains unchanged when commands are  run. Otherwise,  
     stdin is redirected from /dev/null.

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

Спасибо огромное Сергей!
В Сарже древняя версия. :)
Сейчас обновлюсь...

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