Subshell
Die ksh kann Scripts und Kommandos in einer Subshell durchführen. Diese Subshell hat ein eigenes Environment. * Änderungen im Environment der Subshell haben keine Wirkung in der aufrufenden Shell * Funktionen werden nicht an die Subshell übergeben, es sei den sie sind in der Environmentfile oder mit typeset -fx definiert Die ksh erzeugt eine Subshell für: * Scripts die über ihren Namen oder ksh name aufgerufen werden * Command-Substitution $(...) * Anweisungen die durch runde Klammern zusammengefasst werden (cd xy ; pwd; ls -l ) ; pwd * Pipes; (jedes Element mit Ausnahme des letzten Elements wird in einer Subshell durchgeführt * Background-Prozesse * Co-Prozesse ( .... ) |& Für die Subshell können gemeinsam I/O-Umleitungen vorgenommen werden ( ) < inp_file > out_file Die folgenden Kommandos werden nicht in einer Subshell ausgeführt: * Dot-Scripts . script * Built-in Commands * Functions Performance: $(< file) ist schneller als $(cat file) oder `cat file`