2017-01-15 8 views
-1

наклоняет удается решить эту проблемуожидать переводчик с SSHFS

!/usr/bin/expect -f 
set prompt ":|#|\\\$" 
set HOST "192.168.0.40" 
set USER "root" 
set PASS "1234" 
set PATH "/rpms" 
spawn "sshfs" "[email protected]$HOST:$PATH" "/backup" 
expect "Are you sure you want to continue connecting (yes/no)?" 
send "yes\r" 
expect "[email protected]'s password:" 
send "PASS\r" 
exit 

выхода я получаю:

spawn sshfs [email protected]:/rpms /backup 
[email protected]'s password: [email protected]:/rpms# 

и каталог не монтаж:

cd /backup 
-bash: cd: /backup: Transport endpoint is not connected 

Если я буду попробуйте вручную sshfs [email protected]:/rpms /backup это работает просто отлично

+0

Избавиться от 'ожидания 'Вы действительно хотите продолжить подключение (да/нет)?" отправьте «yes \ r» 'part .. – heemayl

+0

Кажется, что он работает без особого, но все равно получается: #cd/backup > -bash: cd:/backup: Конечная точка транспорта не подключена – Zaza

+0

Когда вы делаете' sshfs [email protected] .0.40:/rpms/backup', запрашивает пароль? – heemayl

ответ

0

Вы сохраняете пароль как переменную PASS, но отправляете строку PASS в качестве пароля; перейдите переменное расширение:

send "$PASS\r" 
+0

вы правы, странно, что отправка строки PASS я не получаю никакой ошибки .., изменен на «$ PASS \ r», но результат все тот же ... remote каталог не монтируется: ls/backup lls: невозможно получить доступ/резервное копирование: конечная точка транспорта не подключена – Zaza