我有一个变量x=7
,我想回复它加一个,比如echo ($x+1)
,但我得到了:
bash:语法错误接近意外 令牌`$ x + 1'
我该怎么做?
答案 0 :(得分:26)
答案 1 :(得分:3)
尝试使用双括号:
$ x=7; echo $(($x + 1))
8
答案 2 :(得分:3)
您还可以使用bc
实用程序:
$ x=3;
$ echo "$x+5.5" | bc
8.5
答案 3 :(得分:1)
试 echo $(($ x + 1))
我认为只适用于3或更多版本的bash版本。
echo `expr $x + 1`
将是另一种解决方案
答案 4 :(得分:0)
只需使用expr
命令:
$ expr $x + 1
8
答案 5 :(得分:0)
我们使用expr
:
echo `expr $x + 1`
答案 6 :(得分:0)
尝试这种方式:
echo $(( $X + 1 ))
答案 7 :(得分:0)
$ echo $(($x+1))
8
来自man bash
:
算术扩展
算术扩展允许评估算术 表达式和结果的替代。格式 算术扩展是:
$((expression))
表达式被视为在双精度范围内 引号,但括号内的双引号不是 特别待遇。表达中的所有标记都经过 参数扩展,字符串扩展,命令替换, 和报价删除。算术替换可以嵌套。
评估是根据列出的规则进行的 在算术评估下面。如果表达是 无效,bash打印一条消息,表示失败,没有 替换发生。
答案 8 :(得分:0)
echo $((x + 1))的结果与echo $(($ x + 1))