La única calculadora que conozco es bc. Quiero agregar 1a una variable y salida a otra variable.
Obtuve la nextnumvariable al contar la cadena en un archivo:
nextnum=`grep -o stringtocount file.tpl.php | wc -w`
Digamos que el nextnumvalor es 1. Cuando se agrega con 1, se convertirá 2. Para calcular, corro:
rownum=`$nextnum+1 | bc`
pero tengo error:
1+1: command not found
Simplemente fallé en la parte de cálculo. Intenté cambiar el backtick pero aún no funciona. No tengo idea de cómo calcular variables y enviarlas a otra variable.
shell
arithmetic
bc
calculator
apasajja
fuente
fuente

Respuestas:
La subcadena dentro del
` `debe ser un comando válido en sí mismo:Pero es preferible usar en
$( )lugar de` `:Pero no es necesario
bc, el shell puede hacer aritmética de enteros :O incluso más simple en
bashyksh:fuente
También puede usar aritmética integrada en bash:
que sería un poco más rápido
fuente
Absolutamente correcto y completar las soluciones sugeridas, solo para mencionar la forma en que se debe hacer en épocas anteriores cuando solo estaba disponible el Bourne-Shell, así es como le gusta:
fuente
Yo usaría (como se mencionó anteriormente)
rownum=$((nextnum+1))o,((rownum=nextnum+1))pero si prefiere un comando estándar, puede usar el comando let, comolet rownum=$nextnum+1fuente
letun "comando estándar" es muy engañoso.$((…))es la sintaxis estándar (POSIX) mientras queletes una extensión ksh (y bash, zsh).