Задать вопрос
@procode
Разработчик

Можно ли в bash-скрипте прописать интерактивный ввод логина-пароля для GitHub и вызов MySQL-команды?

Мне нужно автоматизировать

1. Дамп таблицы из MySQL в файл (напр.
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/passwd.txt'
)
2. Сделать commit этого файла в Git
3. Сделать git push на GitHub

Это возможно сделать средствами Bash? (я с Bash совсем мало дела имел, только для cron небольшие скриптики писал, чтобы очередь команд сделать)

И еще GitHub просит логин/пароль - его можно интерактивно ввести средствами Bash?

Знаю, что можно сделать авторизацию на GitHub через SSH-ключи - но это какой-то головняк вообще)))

Спасибо.

upd.: я видимо как-то не так вопрос написал (судя по ответам)... в общем, основной вопрос здесь:

GitHub просит логин/пароль - его можно интерактивно ввести средствами Bash?
  • Вопрос задан
  • 1695 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
fara_ib
@fara_ib
Взято с www.tech-notes.net/use-expect-in-bash
скрипт принимает в качестве аргументов имя пользователя и пароль, дальше подключается с ними к серверу 192.168.1.10 и выполняет там cat /etc/issue

#!/usr/bin/expect
log_file expect_log
set login [lindex $argv 0]
set pw [lindex $argv 1]

spawn ssh $login@192.168.1.10
expect "$login@192.168.1.10\'s password:"
send "$pw\r"
expect "$login@"
send "cat /etc/issue\r"

Выполнить его можно так:

expect -f script.exp user password

Второй вариант - запустить все прямо в bash:

expect -c 'spawn ssh user@192.168.1.10; expect `Password:` {send - `password\r`}; expect `user@` {send `cat /etc/issue\r`};'
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Все можно.
Но если ты уж собрался кого-то поломать или хотя бы запентестить, то потрудись сам, а не будь прокладкой между своей задачей и тостером.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы