Obexctl: предоставить разные результаты в терминале и скрипте
Я создал сценарий, в котором я хочу отправить файл через Bluetooth. Для этого я взял утилиту "obexctl". Я могу передать файл с помощью утилиты obexctl через терминал. Но когда я пытаюсь включить то же самое в сценарий, используя функцию ожидаемого, он говорит: "Клиентский прокси недоступен".
Может кто-нибудь помочь мне с кодом. Заранее спасибо.
Команды над терминалом:
$ obexctl
[NEW] Client /org/bluez/obex
[obex]# connect xx:xx:xx:xx:xx:xx
Attempting to connect to xx:xx:xx:xx:xx:xx
[NEW] Session /org/bluez/obex/client/session11 [default]
[NEW] ObjectPush /org/bluez/obex/client/session11
Connection successful
[xx:xx:xx:xx:xx:xx]# send abc.txt
Attempting to send abc.txt to /org/bluez/obex/client/session3
[NEW] Transfer /org/bluez/obex/client/session3/transfer1
Transfer /org/bluez/obex/client/session3/transfer1
Status: queued
Name: filename.sh
size: 0
Filename: abc.txt
Session: org/bluez/obex/client/session3
[CHG] Transfer /org/bluez/obex/client/session3/transfer1 Status: complete
[DEL] Transfer /org/bluez/obex/client/session3/transfer1
[xx:xx:xx:xx:xx:xx]#
Shell Script:
#!/bin/bash
....
/usr/bin/expect << EOF
set prompt "#"
spawn sudo obexctl
#expect -re \$prompt
expect "Client"
send "connect $hw_addr\r"
sleep 4
expect "Connection"
send "send $bluetooth_log_file\r"
send "quit\r"
EOF
....
При выполнении этого скрипта он предоставляет вывод в виде:
spawn sudo obexctl
[obex]# connect xx:xx:xx:xx:xx:xx
Client proxy not available
[obex]#
Результат должен быть таким же, либо выполненным вручную на терминале, либо автоматически с использованием сценария.
Может кто-нибудь дать какое-нибудь предложение, где я делаю не так.