Quiero acumular el tamaño de línea de varios archivos contenidos en una carpeta. He escrito el siguiente script:
let a=0
let num=0
for i in folder/*
do
num=`cat $i | wc -l`
a=$a+$num
done
echo $a
Lo que obtengo al final del script es 123 + 234 + 432 + ... y no el resultado de la operación aritmética de la suma.
shell
shell-script
arithmetic
curioso
fuente
fuente
$
interior((...))
.a=$((a+num))
Ya está bien.también puedes usar este código
y ASEGÚRESE DE QUE HAY UN ESPACIO EN AMBOS LADOS DE + EN "$ a + $ num"
fuente
Primero puede declarar el tipo de variable:
fuente
Lo sentimos, la edición anterior fue para una publicación diferente. Aquí, solo una pequeña modificación al script original:
fuente
La respuesta debe especificar en qué shell es válido el código. Por ejemplo, en el bourne Shell (
sh
) solo son válidas las siguientes instrucciones:mientras que las otras posibilidades enumeradas por @manatwork pueden ser válidas en bourne nuevamente shell (
bash
)fuente
lo hago asi
fuente