Как эхо-сумма суммы переменной и числа?

У меня есть переменная x=7, и я хочу повторить ее плюс один, например echo ($x+1), но я получаю:

bash: синтаксическая ошибка около неожиданного токен `$ x + 1 '

Как я могу это сделать?

Ответ 1

Нет необходимости в expr, оболочка POSIX позволяет $(( )) для арифметической оценки:

echo $((x+1))

См. & sect; 2.6.4

Ответ 2

Попробуйте двойные круглые скобки:

$ x=7; echo $(($x + 1))
8

Ответ 3

Вы также можете использовать утилиту bc:

$ x=3;
$ echo "$x+5.5" | bc
8.5

Ответ 4

попробовать   echo $(($ x + 1))

Я думаю, что работает только на некоторой версии bash, которая равна 3 или более.

echo `expr $x + 1`

будет другим решением

Ответ 5

Просто используйте команду expr:

$ expr $x + 1
8

Ответ 6

Мы используем expr для этого:

echo `expr $x + 1`

Ответ 7

Попробуйте следующим образом:

echo $(( $X + 1 ))

Ответ 8

$ echo $(($x+1))
8

От man bash:

Арифметическое расширение

Арифметическое расширение позволяет оценить арифметику      выражение и подстановка результата. Формат      для арифметического расширения:

    $((expression))

Выражение обрабатывается так, как если бы оно находилось в двойном      цитаты, но двойная кавычка внутри круглых скобок не      специально обработанных. Все токены в выражении претерпевают      расширение параметров, расширение строки, подстановка команд,      и удаление цитат. Арифметические подстановки могут быть вложенными.

Оценка выполняется в соответствии с указанными правилами      ниже под АРИМЕТИЧЕСКОЙ ОЦЕНКОЙ. Если выражение      недействительно, bash печатает сообщение с сообщением об ошибке и нет      происходит замещение.

Ответ 9

echo $ ((x + 1)) также тот же результат, что и echo $ (($ x + 1))