Je souhaite accumuler la taille de ligne d'un certain nombre de fichiers contenus dans un dossier. J'ai écrit le script suivant:
let a=0
let num=0
for i in folder/*
do
num=`cat $i | wc -l`
a=$a+$num
done
echo $a
Ce que j'obtiens à la fin du script est 123 + 234 + 432 + ... et non le résultat de l'opération arithmétique d'addition.
shell
shell-script
arithmetic
curieuse
la source
la source
$
intérieur((...))
.a=$((a+num))
est déjà bien.vous pouvez également utiliser ce code
et ASSUREZ-VOUS QU'IL Y A UN ESPACE DES DEUX CÔTÉS DE + DANS "$ a + $ num"
la source
Vous pouvez d'abord déclarer le type de variable:
la source
Désolé, l'édition précédente concernait un autre article. Ici, juste une petite modification du script original:
la source
La réponse doit spécifier dans quel shell le code est valide. Par exemple, dans le Bourne Shell (
sh
), seules les instructions suivantes sont valides:tandis que les autres possibilités listées par @manatwork peuvent être valables à nouveau dans bourne shell (
bash
)la source
je le fais comme ça
la source