Argument string to integer in bash

Вы можете попробовать эту команду

sudo adduser -d /var/www/html -m myuser
sudo passwd myser
81
28.09.2015, 05:16
3 ответа

В противном случае вы можете использовать выражение

Пример:

$ version="0002"
$ expr $version + 0
2
$ expr $version + 1
3
22
27.01.2020, 19:30

Согласно документации Bash , синтаксис для вычисления арифметического выражения $((expression)). Например:

$ n=1
$ echo $((n+1))
2

Вы можете использовать это в скрипте, назначив аргумент переменной, а затем используя арифметическое расширение:

n=$1
echo $((n+1))

Проверьте:

$ bash./test.sh 1
2
$ bash./test.sh 7
8
4
07.02.2021, 10:59

Не используйте не $((n))или аналогичный (, например, $((n + 0))и др. ), если ваш номер может иметь ведущие нули (es ). В противном случае ваш номер будет считаться восьмеричным. См. следующий пример:

n="057"
n=$((n + 0)
echo $n

Результат:

47
2
14.09.2021, 17:35

Теги

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