🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Ray Nickson Mon, 04 Sep 1989 01:10
confusion when executing shell scripts
#539
Author: Ray Nickson
Date: Mon, 04 Sep 1989 01:10
23 lines
1514 bytes
The following bug which I reported in version 1.02 does not seem to have
gone away in 1.03.

   From:  Ray Nickson <nickson@comp.vuw.ac.nz>
   Date:  Fri, 25 Aug 89 11:07:10 +1200

   If I execute a shell script for which I have execute permission, but
   which does not start with #!, bash runs it itself (via a recursive
   call on main() !!).  This is fine, except that if the parent bash is a
   login shell, so is the forked child, and it runs .profile.  I was
   burned by this when I included `. ~/.bashrc' in my .profile; one of
   the commands that .bashrc ran was a script ...  (my solution was simply
   to start using a .bash_profile instead).

   Any reason not to just zero the login_shell variable and remove the -
   from argv[0] before calling main()?  You might also want to
   act_like_sh in this case (if you don't already) - does this have any
   impact other than on what startup files are run?

-rgn
--
Ray Nickson, Dept. Comp. Sci., Victoria University of Wellington, New Zealand
nickson@comp.vuw.ac.nz       ...!uunet!vuwcomp!nickson      + 64 4 721000x8593
confusion when executing shell scripts
#541
Author: Brian Fox
Date: Mon, 04 Sep 1989 07:35
32 lines
1800 bytes
   Date: Mon, 04 Sep 89 13:10:57 +1200
   From: Ray Nickson <nickson@comp.vuw.ac.nz>

   The following bug which I reported in version 1.02 does not seem to have
   gone away in 1.03.

      From:  Ray Nickson <nickson@comp.vuw.ac.nz>
      Date:  Fri, 25 Aug 89 11:07:10 +1200

      If I execute a shell script for which I have execute permission, but
      which does not start with #!, bash runs it itself (via a recursive
      call on main() !!).  This is fine, except that if the parent bash is a
      login shell, so is the forked child, and it runs .profile.  I was
      burned by this when I included `. ~/.bashrc' in my .profile; one of
      the commands that .bashrc ran was a script ...  (my solution was simply
      to start using a .bash_profile instead).

      Any reason not to just zero the login_shell variable and remove the -
      from argv[0] before calling main()?  You might also want to
      act_like_sh in this case (if you don't already) - does this have any
      impact other than on what startup files are run?

   -rgn
   --
   Ray Nickson, Dept. Comp. Sci., Victoria University of Wellington, New Zealand
   nickson@comp.vuw.ac.nz       ...!uunet!vuwcomp!nickson      + 64 4 721000x8593


Are you sure?  I am sure that this is not the case.

Brian
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads