Bourne | Ash |  #!  | find | ARG_MAX | Shells | portability | permissions | UUOC | ancient | - | ../Various | HOME
"$@" | echo/printf | set -e | test | tty defs | tty chars | $() vs ) | IFS | using siginfo | nanosleep | line charset | locale


Extracts from Dynix 3.2.0 doc/RELEASE.NOTES

[...] 

   Ucb Shell Redirection Can Affect Some Programs (08437)

          When either csh or sh does output redirection using the '>' or
          '>>' metacharacters, the APPEND bit is set on the descriptor
          (which differs from most UNIX implementations).  This is done
          in DYNIX so that when parallel make(1) is used and the output
          is redirected to a file, the output is less scrambled.

          However, this behavior has a minor effect on programs which
          write to standard output and expect to seek backwards on out-
          put.

          An example of such a program is one that does a seek backwards
          from the current file position on stdout and then writes again
          on stdout.  The expectation is that when stdout is redirected
          to a file, the backward seek should work.  However, since
          since the shell set APPEND on the file descriptor when
          redirection was done, the write after the seek still appends
          to the end of the file, as if the seek had failed.

          Workaround.  One workaround is to clear the APPEND bit on
          stdout.  This can be done using the fcntl(2) system call:

               #include <fcntl.h>
               int res;
                      if ((res = fcntl(fileno(stdout), F_GETFL, 0)) < 0)
                              perror("fcntl");

                      res &= ~FAPPEND;
                      if (fcntl(fileno(stdout), F_SETFL, res) < 0)
                              perror("fcntl");


          Another workaround is to use the att universe version of sh,
          which does not set the APPEND bit on file redirection.

[...] 

   Shell $PARALLEL Value Must Be 2 or More (07788)

          With the parallel extensions to the Bourne shell, you may
          specify the maximum number of background jobs by setting the
          environment variable $PARALLEL.  However, setting $PARALLEL to
          a value of 0 or 1 causes command pipelines to hang.

          Workaround.  If you set $PARALLEL, give it a value greater
          than 1.

[...]