Как всегда, присваивание в оболочке не принимает пробелы (см.:Пробелы в присваиваниях переменных в сценариях оболочки):что-то вроде var=foo bar
запускает команду bar
с var
установлено на foo
. Или, в вашем случае, это команда +
, что вполне нормально, поскольку +
не имеет особого значения для оболочки (в любом случае ). Кроме того, var=1+1
принимает правую часть строки 1+1
, так как плюс — это обычный символ. Если бы оно имело особое значение (, например ;
или (
), вам нужно было бы указать его в кавычках.
Стандартным способом выполнения арифметических действий в оболочке является расширение $((... ))
, поэтому, чтобы добавить число и присвоить его переменной, используйте:
anothervar=$((var + 1))
Если вы используете Bash/ksh/zsh и просто хотите зациклить постоянное количество итераций, вы можете использовать:
for (( i = 0; i < 10 ; i++)); do something ; done
(for i in {1..10}
также будет работать, но в Bash раскрытие переменных не работает внутри раскрытия фигурных скобок.)
только что вспомнил. скорее всего, проблема с обновлением gpg, см.https://askubuntu.com/questions/1057627/duplicity-fails-with-bad-session-key-error
цитата из связанного обходного пути в вышеуказанном тикете
" Проблема в том, как указано в связанном сообщении, что gpg 2.1 удаляет парольную фразу из канала для аутентификации ключа. Чтобы восстановление работало, необходимо включить и настроить агенты gpg.
Добавьте следующее в ~/.gnupg/gpg.conf:
use-agent
pinentry-mode loopback
И к вашему ~/.gnupg/gpg -agent.conf:
allow-loopback-pinentry
"
..ede/duply.net