Wenn ich einen Windows-Befehl (.exe
) in der while-Schleife von wsl2 ausführe, ist die Anzeige beschädigt.
$ seq 10 | while read i; do ipconfig.exe &>/dev/null; echo $i; done
1
Ich kann das erwartete Ergebnis nicht erzielen. Gleiches gilt für andere .exe-Befehle als ipconfig.exe. wsl1 hat dieses Problem nicht.
(Wahrscheinlich) .exe
nimmt Standardeingaben auf.
Fügen Sie </ dev / null
zu .exe
hinzu.
ipconfig.exe </dev/null
$ seq 10 | while read i; do ipconfig.exe </dev/null &>/dev/null; echo $i; done
1
2
3
4
5
6
7
8
9
10