Ich habe meinen Code auf diese einfache for-Schleife reduziert. Ich verstehe nicht, warum der Zähler tot_add nicht kumulativ, sondern 1 die ganze Zeit:Bash-Variable wird in for-Schleife zurückgesetzt (keine Pipe)
cd /path/to/my/workspace;
tot_add=0;
for d in ./*/;
do (cd "$d";
let tot_add=tot_add+1;
echo $tot_add;
) done
erwartetes Ergebnis:
1
2
3
tatsächliches Ergebnis
1
1
1
ich diese Antwort gelesen habe über Subshell mit Pipe.
Aber ich bin hier nicht mit Pipe-Zeichen.
Sie verwenden '(' ... ')'. Das erstellt explizit eine Untershell. – melpomene