Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / передать значение в скрипте / 8 сообщений из 8, страница 1 из 1
05.10.2007, 17:41:14
    #34850898
0ri0n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
ОС SUSE 10.
Есть скрипт, запускающий некоторую программу. Программа при запуске задает пользователю вопрос, и ждет на него ответ. Как в этом скрипте передать в эту программу нужный ответ?
...
Рейтинг: 0 / 0
05.10.2007, 18:05:52
    #34850994
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
$ cat << EOF
бла бла бла
EOF #обязательно с первой позиции в строке
...
Рейтинг: 0 / 0
05.10.2007, 18:38:43
    #34851103
0ri0n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
если есть запущенная программа prg, которую мне нужно остановить, то интерактивно я делаю следующее:
> prg stop
на что мне задается вопрос:
Are you sure (y/n)?
Нажимаю y и Enter.

Покажите пожалуйста на примере, как это сделать в скрипте.
...
Рейтинг: 0 / 0
05.10.2007, 18:49:48
    #34851132
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
man sh
read [-p prompt [-t timeout [-er variable ... ] ] ]
The prompt is printed if the -p option is specified and the standard input is a terminal. Then a line is read from the standard input. The trailing newline is deleted from the line and the line is split as described in the section on Sx White Space Splitting (Field Splitting) above, and the pieces are assigned to the variables in order. If there are more pieces than variables, the remaining pieces (along with the characters in IFS that separated them) are assigned to the last variable. If there are more variables than pieces, the remaining variables are assigned the null string.

Backslashes are treated specially, unless the -r option is specified. If a backslash is followed by a newline, the backslash and the newline will be deleted. If a backslash is followed by any other character, the backslash will be deleted and the following character will be treated as though it were not in IFS even if it is.

If the -t option is specified and the timeout elapses before any input is supplied, the read command will return without assigning any values. The timeout value may optionally be followed by one of ``s'' ``m'' or ``h'' to explicitly specify seconds, minutes or hours. If none is supplied, ``s'' is assumed.

The -e option exists only for backward compatibility with older scripts.
...
Рейтинг: 0 / 0
05.10.2007, 18:50:44
    #34851137
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
Ну если не заморачиваться на тему какой вопрос задан то вот
Код: plaintext
1.
2.
3.
prg stop << EOF
y
EOF
Просто даст программу y на cin. Ежели надо что более сложное - то на чем-либо более тяжелом написать
...
Рейтинг: 0 / 0
05.10.2007, 18:53:24
    #34851144
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
Сорри, я неправильно понял вопрос.
...
Рейтинг: 0 / 0
05.10.2007, 19:00:07
    #34851164
0ri0n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
blinded, спасибо большое, работает!
...
Рейтинг: 0 / 0
12.10.2007, 00:24:06
    #34864640
A. Fig Lee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передать значение в скрипте
#man yes
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / передать значение в скрипте / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]