Значение изменения строки, представляющие число

Я предполагаю, что необходимо было бы установить пакет. Из того, что я могу сказать, что это должно быть:

sudo apt-get install command-not-found
Должен, надо надеяться, быть в Debian repos по умолчанию.
2
29.11.2013, 01:35
3 ответа

Просто используйте $(()) для арифметики оболочки:

a=$(($a-1))
3
27.01.2020, 21:57

Можно или использовать стандарт $(()) как предложил Joseph R., или, с некоторыми оболочками (ksh, bash, zsh), можно использовать let:

$ a="2013"
$ let a--; ## Or let "a=$a-1"
$ echo "$a"
2012
2
27.01.2020, 21:57

Краткий способ использовать арифметическое расширение был бы

a=$((a-1))

или просто

((--a))

Обратите внимание, что последний синтаксис в не переданный под мандат POSIX, но поддерживается, по крайней мере, ksh и bash.

0
27.01.2020, 21:57
  • 1
    (( --a )) без присвоения также работает. –   29.11.2013, 03:30

Теги

Похожие вопросы