Hacker News new | past | comments | ask | show | jobs | submit login

I thought every shell that is sh compatible would fork a while, and a for loop, as a matter of fact any loop into a sepearate process.

This comment however reminds me of some behaviour of bash 2.03 or earlier, where this behaviour was flawed, if you suddenly changed execution path during a recursion in a shell script. Sorry I can't describe it better, and that bash version, that was before 2.03 is long gone now!




Isn't the issue the pipe, not while?

  export a=0
  while read line ; do
    a=$(expr $a + 1)
  done < $file
  echo $a
(Some old shells fork on < but bash isn't one of them).


I think the pipe was the issue.

Nice to know that bash doesn't fork loops that are being used with redirection, and not piping!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: