A única calculadora que eu sei é bc
. Eu quero adicionar 1
a uma variável e saída para outra variável.
Eu recebi a nextnum
variável da contagem de string em um arquivo:
nextnum=`grep -o stringtocount file.tpl.php | wc -w`
Vamos dizer que o nextnum
valor é 1
. Quando adicionado 1
, ele se tornará 2
. Para calcular, eu corro:
rownum=`$nextnum+1 | bc`
mas obteve erro:
1+1: command not found
Eu apenas falhei na parte do cálculo. Eu tentei mudar o backtick, mas ainda não funciona. Não tenho idéia de como calcular variáveis e enviá-lo para outra variável.
shell
arithmetic
bc
calculator
apasajja
fonte
fonte
Respostas:
A substring dentro do
` `
deve ser um comando válido:Mas é preferível usar em
$( )
vez de` `
:Mas não há necessidade
bc
, o shell é capaz de fazer aritmética inteira :Ou ainda mais simples
bash
eksh
:fonte
Você também pode usar aritmética integrada no bash:
o que seria um pouco mais rápido.
fonte
Absolutamente certo e complete as soluções sugeridas, apenas para mencionar a maneira como isso deve ser feito nos tempos antigos, quando apenas o Bourne-Shell estava disponível, é assim que ele gosta:
fonte
Eu usaria (como mencionado anteriormente)
rownum=$((nextnum+1))
ou,((rownum=nextnum+1))
mas se você preferir um comando padrão, poderá usar o comando let, comolet rownum=$nextnum+1
fonte
let
um "comando padrão" é muito enganador.$((…))
é a sintaxe padrão (POSIX), enquantolet
é uma extensão ksh (e bash, zsh).