Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!mailrus!ames!ucsd!ucsdhub!hp-sdd!hp-pcd!hpfcso!hpfcdc!rpt From: rpt@hpfcdc.HP.COM (Rich Testardi) Newsgroups: comp.sys.hp Subject: Re: ksh question Message-ID: <5570390@hpfcdc.HP.COM> Date: 22 Mar 90 05:16:59 GMT References: <1586@krafla.rhi.hi.is> Organization: HP Ft. Collins, Co. Lines: 29 > It seems to be unlegal to have the command "set -o ignoreeof markdirs" > in .envfile. Why ? From the ksh(1) man-page: > -o The -o argument takes any of several > option names, but only one option can > be specified with each -o flag. ... > The remaining arg arguments are positional > parameters and are assigned consecutively to > $1, $2, .... Ksh needs to *unambiguously* decide where the -o options end and where the positional parameters begin -- it does so by restricting you to exactly *one* option per "-o" flag. When you say "set -o ignoreeof markdirs", ksh thinks you want to enable "ignoreeof" and then set $1 to "markdirs" (and clear $2, $3, etc.)... As a side note: You might consider changing the "#!/bin/ksh" in your scripts to a "#!/bin/ksh -p" -- this will prevent them from sourcing the $ENV file altogether (a *very* common source of problems for ksh scripts), and instead, cause them to source /etc/suid_profile (if it exists). Hope this explains the behavior. -- Rich