Имеется консольная программа от провайдера, которая нужна для включения интернета (она должна быть обязательно запущена для доступа в интернет).
Схем работы подобна команде 'su', т.е. после запуска программы следует ввод пароля к учетной записи у прова. Каким образом реализовать сей ввод пароля автоматически посредством bash'а?
Пароль может хранить либо в самом скрипте, либо в отдельном текстовом файле (сохранность пароля не важна, важен запуск сей программки в автоматическом режиме, без ручного ввода, т.к. она должна запускаться на домашнем NAT сервере).
PS: поиск весь перелопатил, в ABS Guide на подобную тему ничего не нашел (может не увидел, тогда прошу тыкнуть носом)
Заранее Благодарю!
Bash. Автоматический ввод пароля
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: Bash. Автоматический ввод пароля
Почитайте man expect. Там даже пример скрипта есть, как раз подходящий для вашего случая. Вам останется только взять из него и слегка подредактировать три строки.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Bash. Автоматический ввод пароля
в su реализована защита - она не будет читать символы пароля из скрипта и/или из файла, только ручками. я не думаю, что в вашей программе так-же. потому, достаточно написать:
Код: Выделить всё
echo "PASSWORD" | prog
впрочем, во многих программах это можно сделать ключиками:
например:
Код: Выделить всё
mysql -uMY_USER -pMY_PASSWORD MY_DATABASE
-
- Сообщения: 155
- ОС: archer
Re: Bash. Автоматический ввод пароля
expect - универсальное решение, но есть у него ещё одна фишка: autoexpect - эта команда поможет Вам даже скрипт сделать.
autoexpect команда
autoexpect команда
Спасибо сказали: