From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9951 invoked from network); 16 Sep 1998 16:38:02 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 16 Sep 1998 16:38:02 -0000 Received: (from list@localhost) by math.gatech.edu (8.9.1/8.9.1) id MAA09128; Wed, 16 Sep 1998 12:31:52 -0400 (EDT) Resent-Date: Wed, 16 Sep 1998 12:28:08 -0400 (EDT) Message-Id: <199809161631.MAA06749@mailhost2.squonk.net> To: Dan Nelson cc: zsh-users@math.gatech.edu Subject: Re: /usr/bin/script annoyance In-reply-to: Your message of "Wed, 16 Sep 1998 11:08:04 CDT." <19980916110804.A19057@emsphone.com> Date: Wed, 16 Sep 1998 12:31:07 -0400 From: Ken Lareau Resent-Message-ID: <"P3nSZ.0.yA2.OS-_r"@math> Resent-From: zsh-users@math.gatech.edu X-Mailing-List: archive/latest/1819 X-Loop: zsh-users@math.gatech.edu X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu In message <19980916110804.A19057@emsphone.com>, Dan Nelson writes: >In the last episode (Sep 16), Ken Lareau said: >> Thanks for the response; however, a more insidious problem has reared >> it's head: both the above and my former method (modified to zsh, of >> course) does not work, since the forking of a subshell doesn't reread >> the startup scripts when 'script' is executed. >> >> I have been unsuccessful in figuring out why this seems to happen, as >> the documentation I've read doesn't give a clue... anyone have any >> ideas on how to get around this little problem? > >I've noticed this too. zsh-3.0.5 does not source _any_ startup scripts >inside a 'script' run on the following OS's: FreeBSD 2.2, SCO 5.0.4, >OSF/1 4.0, SunOS 4.1. It _does_ source startup scripts under Linux (RH >4.2). I happen to be using zsh 3.1.4, actually, but I'm sure the code is similar enough in this case... >Oh weird. I just looked at the source to typescript under FreeBSD, and >it reads in part: > > char *shell; > > shell = getenv("SHELL"); > if (shell == NULL) > shell = _PATH_BSHELL; > > execl(shell, "sh", "-i", NULL); > >So argv[0] is "sh", and it's entering /bin/sh compatibility mode. This >is almost _exactly_ the problem Paul Lew reported to the zsh list on >Aug 11 (mailinglist article archive/latest/4298). Both Bart Schaefer >and zefram posted ugly workarounds :) Hmm... I did a 'truss' on the 'script ' command and dumped it to a file, and here's what I see when it calls the shell: execve("/software/bin/zsh", 0xEFFFF918, 0xEFFFFA60) argc = 2 Of course I have no idea what the 2nd and 3rd arguments are to the execve command, but it would seem to me that it should start up as a regular zsh shell, no? (Please tell me if I'm missing something blatently obvious here.) Ken Lareau elessar@numenor.org