powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / передать значение в скрипте
8 сообщений из 8, страница 1 из 1
передать значение в скрипте
    #34850898
0ri0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОС SUSE 10.
Есть скрипт, запускающий некоторую программу. Программа при запуске задает пользователю вопрос, и ждет на него ответ. Как в этом скрипте передать в эту программу нужный ответ?
...
Рейтинг: 0 / 0
передать значение в скрипте
    #34850994
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$ cat << EOF
бла бла бла
EOF #обязательно с первой позиции в строке
...
Рейтинг: 0 / 0
передать значение в скрипте
    #34851103
0ri0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если есть запущенная программа prg, которую мне нужно остановить, то интерактивно я делаю следующее:
> prg stop
на что мне задается вопрос:
Are you sure (y/n)?
Нажимаю y и Enter.

Покажите пожалуйста на примере, как это сделать в скрипте.
...
Рейтинг: 0 / 0
передать значение в скрипте
    #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
передать значение в скрипте
    #34851137
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если не заморачиваться на тему какой вопрос задан то вот
Код: plaintext
1.
2.
3.
prg stop << EOF
y
EOF
Просто даст программу y на cin. Ежели надо что более сложное - то на чем-либо более тяжелом написать
...
Рейтинг: 0 / 0
передать значение в скрипте
    #34851144
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, я неправильно понял вопрос.
...
Рейтинг: 0 / 0
передать значение в скрипте
    #34851164
0ri0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded, спасибо большое, работает!
...
Рейтинг: 0 / 0
передать значение в скрипте
    #34864640
A. Fig Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
#man yes
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / передать значение в скрипте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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