LINUX.ORG.RU

kpcli + bash

 ,


0

2

Доброе...

Подскажите пожалуйста, в чем может быть косяк.

Поставил kpcli, чтобы создавать файлы .kdb для keepass из консоли (CentOS_6.5x64)

Все работает в ручном режиме, а когда пробую через bash expect, то на вводе строки URL все встает и скрипт не выполняется, просто около 10 секунд тишина и все. Ни ошибок, ничего. Вот скрипт:

#!/bin/bash

expect <<EOF
spawn /usr/bin/kpcli
send "cd eMail\n"   #Перехожу в папку
send new\n          #Создаю новый ключ
send vpn\n          #Его название
send none\n         #username
send password\n     #password
send password\r     #retry-password
send urlText\n      #URL   - вот тут встает наглухо, и пробовал пустую строку и кавычки и все что голову приходило
send \n             #Комментарии
send "saveas /home/netmaster/user2.kdbx\n"
send quit\n

expect
EOF

Вот вывод из консоли:

[root@newzim 2.0]# ./kpcli.sh
spawn /usr/bin/kpcli
cd eMail
new
vpn
none
password
password
urlText

saveas /home/netmaster/user2.kdbx
quit

KeePass CLI (kpcli) v2.4 is ready for operation.
Type 'help' for a description of available commands.
Type 'help <command>' for details on individual commands.

kpcli:/> cd eMail
kpcli:/eMail> new
Adding new entry to "/eMail"
Title: vpn
Username: none
Password:                ("g" or "w" to generate a password)
Retype to verify:
URL: [root@newzim 2.0]#

Подскажите пожалуйста. Спасибо.

А не пробовали перед каждым send делать expect приглашения, которое выводит kpcli (которые kpcli:/>, Title:, Username:, etc)?

gv
()
Ответ на: комментарий от firefedot

мне потом надо файл этот передать человекам в keepass под виндой...

пароль вещь интимная. Передают его только передасты. Они должны свои сделать, и НИКОМУ, НИКОГДА не передавать. Только тому серверу, от которого этот пароль.

emulek
()
Ответ на: комментарий от emulek

К сожалению сложно описать все, по этому послушаю просто)

В нормальной ситауции, я бы сделал как надо...

)))

firefedot
() автор топика
Ответ на: комментарий от emulek

Иногда это нужно, поверь, бывают такие ситуации и люди, с которыми надо делать не как надо, а как сказали)

firefedot
() автор топика
Ответ на: комментарий от emulek

да я понял, просто указал

expect URL:
send my_url\n

И он все принял...

firefedot
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.