<Anterior | Conteúdo | Próxima>
Um script de exemplo
Como um exemplo do mundo real, construiremos um script que executa um cálculo comum, pagamentos mensais de empréstimos. No script abaixo, usamos um documento here para passar um script para bc:
#! / Bin / bash
# empréstimo-calc: script para calcular os pagamentos mensais do empréstimo PROGNAME = $ {0 ## * /} # Use a expansão do parâmetro para obter o uso do nome de base () {
gato << - EOF
Uso: $ PROGNAME PRINCIPAL INTEREST MONTHS
Onde:
PRINCIPAL é o valor do empréstimo. INTEREST é a TAEG como um número (7% = 0.07). MESES é a duração do prazo do empréstimo.
EOF
}
if (($ #! = 3)); então uso
sair 1
fi
principal = $ 1 de juros = $ 2 meses = $ 3
bc << - EOF
escala = 10
i = $ juros / 12 p = $ principal
n = $ meses
a = p * ((i * ((1 + i) ^ n)) / (((1 + i) ^ n) - 1)) imprimir a, "\ n"
EOF
#! / Bin / bash
# empréstimo-calc: script para calcular os pagamentos mensais do empréstimo PROGNAME = $ {0 ## * /} # Use a expansão do parâmetro para obter o uso do nome de base () {
gato << - EOF
Uso: $ PROGNAME PRINCIPAL INTEREST MONTHS
Onde:
PRINCIPAL é o valor do empréstimo. INTEREST é a TAEG como um número (7% = 0.07). MESES é a duração do prazo do empréstimo.
EOF
}
if (($ #! = 3)); então uso
sair 1
fi
principal = $ 1 de juros = $ 2 meses = $ 3
bc << - EOF
escala = 10
i = $ juros / 12 p = $ principal
n = $ meses
a = p * ((i * ((1 + i) ^ n)) / (((1 + i) ^ n) - 1)) imprimir a, "\ n"
EOF
Quando executado, os resultados são assim:
[me @ linuxbox ~] $ empréstimo-calc 135000 0.0775 180
[me @ linuxbox ~] $ empréstimo-calc 135000 0.0775 180
1270.7222490000
1270.7222490000
Este exemplo calcula o pagamento mensal para um empréstimo de $ 135,000 a uma APR de 7.75% por 180 meses (15 anos). Observe a precisão da resposta. Isso é determinado pelo valor dado ao especial escada variável no bc roteiro. Uma descrição completa do bc linguagem de script é fornecida pelo bc página do manual. Embora sua notação matemática seja ligeiramente diferente da do shell (bc se assemelha mais a C), a maior parte será bastante familiar, com base no que aprendemos até agora.