1
我已經將我的代碼修剪到這個簡單的for循環。我不明白爲什麼反tot_add不具有累積性,而是1所有的時間:Bash變量重置爲for循環(無管道)
cd /path/to/my/workspace;
tot_add=0;
for d in ./*/;
do (cd "$d";
let tot_add=tot_add+1;
echo $tot_add;
) done
預期的結果:
1
2
3
實際結果
1
1
1
我看了這個答案關於Pipe的子shell。
不過,我沒有使用管道字符在這裏。
您正在使用'('...')'。這明確地創建了一個子shell。 – melpomene