The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как в sh или bash автоматически отвечать на вопросы"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как в sh или bash автоматически отвечать на вопросы" 
Сообщение от Cforest Искать по авторуВ закладки(ok) on 28-Фев-05, 17:52  (MSK)
Добрый день. Ситуация: есть прога, которая вызывается из шелла и требует ответа на свои вопросы: подтверждение установки, путь к каталогу и прочее. Хочется автоматизировать ответы на эти вопросы: то есть запускать эту прогу из какой-нибудь внешней проге, в которой подставлять заранее подготовленные ответы. Можно ли это реализовать ?
PS. Те, кто постарше, наверное помнят про 4dos - мощный аналог command.com в DOS/Windows. Так вот, в 4dos была замечательная команда keystack, которая как раз делала то, что я хочу реализовать в юниксовом шелле:

KEYSTACK takes a series of keystrokes and feeds them to a program or command as if they were typed at the keyboard.  When the program has used all of the keystrokes in the keystack buffer, it will begin to read the keyboard for input, as it normally would.

Так возможно ли такое в bash/sh ? Спасибо.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как в sh или bash автоматически отвечать на вопросы" 
Сообщение от Simps Искать по авторуВ закладки(ok) on 28-Фев-05, 18:45  (MSK)
>Добрый день. Ситуация: есть прога, которая вызывается из шелла и требует ответа
>на свои вопросы: подтверждение установки, путь к каталогу и прочее. Хочется
>автоматизировать ответы на эти вопросы: то есть запускать эту прогу из
>какой-нибудь внешней проге, в которой подставлять заранее подготовленные ответы. Можно ли
>это реализовать ?
>PS. Те, кто постарше, наверное помнят про 4dos - мощный аналог command.com
>в DOS/Windows. Так вот, в 4dos была замечательная команда keystack, которая
>как раз делала то, что я хочу реализовать в юниксовом шелле:
>
>
>KEYSTACK takes a series of keystrokes and feeds them to a program
>or command as if they were typed at the keyboard.  
>When the program has used all of the keystrokes in the
>keystack buffer, it will begin to read the keyboard for input,
>as it normally would.
>
>Так возможно ли такое в bash/sh ? Спасибо.

для таких целей надо использовать expect

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как в sh или bash автоматически отвечать на вопросы" 
Сообщение от Xenu emailИскать по авторуВ закладки on 01-Мрт-05, 02:34  (MSK)
возможно и многими способами, вот один пример:

#!/usr/bin/bash
# ----------------------------------------------
# [18:24:39] (0) ~/prj/shell
# user@localhost$ ./install.sh y
# Как дела ?:
# хорошо
#
# [18:24:45] (0) ~/prj/shell
# user@localhost$ ./install.sh n y
# Как дела ?:
# хорошо
#
# [18:24:48] (0) ~/prj/shell
# user@localhost$
# ----------------------------------------------

RECON=${1:-'n'}
PLAYON=${2:-'n'}

FILE="install.rec"

ANSWER=""

ask()
{
    msg=$1

    echo "$msg:"
    if [ "$PLAYON" = "y" -a -r $FILE ]
    then
        ANSWER=`sed -n "s/$msg:\(.*\)/\1/p" $FILE`
    else
        read ANSWER
        [ "$RECON" = "y" ] && echo "$msg:$ANSWER" >> $FILE
    fi
}

[ "$RECON" = "y" -a -r $FILE ] && rm $FILE

ask "Как дела ?"

if [ "$RECON" = "n" ]
then
    echo $ANSWER
fi

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру