Проблема не в том, что ты прикасаешься $2
, а в том, что ты echo
вещи. Ваша функция, как вы говорите, рекурсивна. Это означает, что он будет обрабатывать свой собственный вывод. Как только вы распечатаете что-либо, кроме единственного числа возврата (, чего вы ожидаете ), он сломается.
В частности, ваша функция будет делать это:
tmp=$(( $2 - 1 ))
local result1=$(exp $1 $tmp )
result=$(( $result1 * $1 ))
echo $result
Это прекрасно работает, когда вывод exp $1 $tmp
, сохраненный как result1
, представляет собой просто одно число. Однако, когда вы повторяете что-то еще, вывод exp
больше не является одним числом, поэтому простые математические операции, которые вы выполняете, сломаются.
Я бы подумал, что пакетный или bash-скрипт с
Что-то вроде:
rclone connect ... &&
keepassXC
rclone disconnect...
В Windows вы можете просто сделать ярлык. В linux сделайте его исполняемым, киньте скрипт в путь и сделайте для него элемент рабочего стола.
Спасибо, что указали на rclone, он решил проблему с подключением к Dropbox.
У меня все заработало после того, как Тед указал мне правильное направление. Вот скрипт, который делает то, что я хочу.
#!/bin/bash
rclone mount pw: ~/.pws/ --vfs-cache-mode full &
/usr/bin/keepassxc &&
fusermount -u ~/.pws/
Поместите его в /usr/local/bin, чтобы он был найден перед исполняемым файлом keepassxc в /usr/bin, и все.