LiveFire Labs - Online UNIX Training - Company Logo

Online UNIX Training with Hands-on Internet Lab

"Eliminate the expense and inconvenience of classroom training without eliminating the classroom experience."


Internet Lab
Console Access
Sample Course

Student Login

LiveFire Labs' UNIX Tip, Trick, or Shell Script of the Week - View

Questions? Call
1.888.843.1637 or send us email

January 12, 2004 - Subshells & Subshell Grouping - Part II

The Korn shell automatically creates a subshell to perform these operations:

· commands enclosed by parenthesis
· each section of a pipeline (minus the last)
· background processes
· co-processes
· command substitution

Enclosing commands in parenthesis - ( command1; command2; commandn; ) - produces a different result than enclosing the same commands in braces - { command1; command2; commandn; }.  The reason for this is because commands inside of braces are executed within the current session (a subshell is not created).

Consider the following series of commands:

[livefire@hawk] # pwd
[livefire@hawk] # ( cd /tmp; pwd; )
[livefire@hawk] # pwd
[livefire@hawk] # { cd /tmp; pwd; }
[livefire@hawk] # pwd
[livefire@hawk] #

As you can see from the above output, when the cd command is executed from within parenthesis, the working directory of the shell remains unchanged.  The same is obviously not true when braces are used.

Learn more...

If you are new to the UNIX or Linux operating system and would like to learn more, you may want to consider registering for LiveFire Labs' UNIX and Linux Operating System Fundamentals online training course.

If you already have a solid grasp of the fundamentals but would like to learn more about the Korn shell and basic and advanced shell scripting, taking our Korn Shell Scripting course will be beneficial to you.

Our innovative hands-on training model allows you to learn UNIX by completing hands-on exercises on real servers in our Internet Lab.

More Tips...

Popular UNIX Tips from the Past

spacer Box Border

Receive the UNIX Tip, Trick, or Shell Script of the Week by Email

First Name:

Email Address:


Home - Contact us - Company info - Privacy Statement   

©2002-2003 LiveFire Labs.  All rights reserved.
Linux® is a registered trademark of Linus Torvalds, author and developer of this public domain operating system.
UNIX® is a registered trademark of The Open Group in the United States and other countries.