On Oct 4, 2005, at 8:56 AM, Larry Helms wrote: > Another EXCELLENT resource for shell scripting newbies... > > http://www.shelldorado.com > > Contains tutorials... And a WHOLE BUNCH of exmaples. I like this site a lot. Advanced Bash-Scripting Guide by Medel Cooper at <http://www.tldp.org/ LDP/abs/html/> also appears to be very good. > Depending on the shell the (...) construct usually means execute > contents > INLINE. E.g. > > ( ls -1; head -1 ) > > Each time Unix shells hit a command they really fork off another > process to > perform the task - having used other OSes... I won't even go into > that issue > - anyway... A way to force the routine NOT to do this... Is to > enclose the > commands in ( ) sets. I'm not sure where you got this inline concept from. All my shell books and the web pages I checked say that (...) invokes a subshell, i.e. it explicitly forks a new process with a local environment that exists till the closing ')'. The point is to be able to set up a new temporary environment for just these commands or to be able to run commands in parallel. The classic example is using tar piped to tar to copy something from one place to another, e.g. tar cf - stuff | (cd /some/where/else; tar xf -). This wouldn't work if (...) didn't invoke a new process. Phil