apa*_*jja 13 shell arithmetic bc calculator
我知道的唯一计算器是bc
. 我想添加1
到一个变量,并输出到另一个变量。
我nextnum
从文件中的计数字符串中得到了变量:
nextnum=`grep -o stringtocount file.tpl.php | wc -w`
Run Code Online (Sandbox Code Playgroud)
让我们说nextnum
价值是1
。添加时1
,它会变成2
. 为了计算,我运行:
rownum=`$nextnum+1 | bc`
Run Code Online (Sandbox Code Playgroud)
但有错误:
1+1: command not found
Run Code Online (Sandbox Code Playgroud)
我只是在计算部分失败了。我试过改变反引号,但仍然无效。我不知道如何计算变量并将其输出到另一个变量。
man*_*ork 27
里面的子字符串` `
必须是一个有效的命令本身:
rownum=`echo $nextnum+1 | bc`
Run Code Online (Sandbox Code Playgroud)
但最好使用$( )
而不是` `
:
rownum=$(echo $nextnum+1 | bc)
Run Code Online (Sandbox Code Playgroud)
但是没有必要bc
,shell 能够进行整数运算:
rownum=$((nextnum+1))
Run Code Online (Sandbox Code Playgroud)
或者在bash
and 中更简单ksh
:
((rownum=nextnum+1))
Run Code Online (Sandbox Code Playgroud)