Вот ваш сценарий ожидания:
#!/usr/bin/expect
exp_internal 1 ; # remove this when you're done testing.
spawn /path/to/your/program
set timeout -1
expect {
-re {ANSWER \[\d+\]: $} {
send "\r"
exp_continue
}
{Cancel=N, Download and Install=Y} {
send "Y\r"
}
}
expect eof
Секретным ингредиентом является exp_continue
, который, по сути, «зацикливается» на начале команды expect
, чтобы снова соответствовать одному из заданных шаблонов.
Я работал над этим, используя OneDeath
Поскольку в моем сид-боксе не было lua. Я установил lua, скомпилировав его из исходников, следуя этому руководству .
По сути, я использовал абсолютный путь к папке bin на рабочем столе /home11/username/bin/
.
т.е. как для readline, так и для ncurses
./configure --prefix=/home11/username/bin/
make
make install
и следующие изменения в make-файлахlua/src/Makefile
CC= gcc -std=gnu99 -fPIC
MYCFLAGS=-I/usr/local/readline/include
MYLDFLAGS=-L$/home11/username/bin/include/readline/lib -L/home11/username/bin/include/ncurses -L$/home11/username/bin/include/ncurses/lib
linux:
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"
иlua/Makefile
INSTALL_TOP=/home11/username/bin/lua
, затем выполнение main.lua из OneDeath с помощью следующей команды
/home11/username/bin/lua/bin/lua main.lua <share url>
Rclone должен иметь возможность взаимодействовать с oneDrive.
Если вы будете следовать инструкциям по установке «Установка из предварительно скомпилированного двоичного файла» , вы сможете сделать это без root-доступа.