In dem letzten CodeBeispiel von Shell/Tipps und Tricks (Abschnitt „Sinnlose-Verwendung-von-Backticks“)
komplexerer Befehl | while read i ; do ... done
sollt man vllt. darauf hinweisen, dass für jede Pipe eine eigene Subshell geöffnet wird. Somit werden anstatt von globalen Variablen, die man eventuell in der while-Schleife neu zuweisen möchte, in Wirklichkeit lokale Kopien der globalen Variablen mit neuen Werten belegt.
Das ganze ist (vor allem für Anfänger) nicht sehr offensichtlich und daher eine recht grosse Fehlerquelle.