Вам нужно запустить экспорт для имени переменной. Прямо сейчас на переменную ссылаются и заменяют до того, как ее увидит экспорт.
Измените его на это:
export user
Обратите внимание на отсутствие $
Ваша текущая версия по существу такова:
export ubuntu
Потому что сначала интерпретируется $ user
.
Вы также потеряли свои переменные окружения при использовании sudo. Есть два способа сохранить их. Либо сохраните всю среду
sudo -E -u $user command
, либо просто сохраните нужную переменную
sudo user=$user -u $user command
bluetoothctl
используется только для управления вашими устройствами bluetooth, для передачи ваш файл вы должны использовать другие инструменты, например obexftp
:
apt install obexftp
obexftp is used to access files on mobile equipment, i.e. cell phones.
With obexftpd you can transfer files between any computers using IrDA,
Bluetooth and TCP/IP
Чтобы получить файл
bar
из каталогаfoo
из первое устройство Bluetooth:
obexftp -b -c foo -g bar
или используя MAC_Address:
obexftp -b MAC_address -g bar
Чтобы отправить файл
bar
в каталогfoo
с устройством на первом последовательном порту:
obexftp -t /dev/ttyS0 -c foo -p bar
Или используя MAC_Address :
obexftp -b MAC_address -p bar
Вариант:
-p source, --put source
-g source, --get source
-b device, --bluetooth device
-t device, --tty device
Что касается получения файлов, примерно следующее работает (в соответствии с инструкциями наhttps://www.raspberrypi.org/forums/viewtopic.php?t=146328). Тем не менее, довольно нестабильный в моей настройке:
sudo systemctl stop bluetoothctl.service; sudo bluetoothd -C
sudo obexpushd -d
(в режиме отладки, чтобы увидеть, произойдет ли что-то)bluetoothctl
:Опять же, это, по крайней мере в моем случае, не очень надежно, а включение/отключение bluetooth и повторное выполнение процедуры иногда срабатывает.