On Mon, Jun 20, 2011 at 08:39:00PM +1000, Adam Carter wrote:
> >> /bin/sh is a symlink to bash.
> >
> > Which runs as sh when run from the symlink.
> 
> I dont understand. "runs as" usually means "runs under the user
> context" to me - are you saying bash has an sh compatibility mode?


Yes, from the bash man page:

       If  bash  is  invoked  with  the name sh, it tries to mimic the startup
       behavior of historical versions of sh as  closely  as possible,  while
       conforming  to the POSIX standard as well.  When invoked as an interac‐
       tive login shell, or a non-interactive shell with the  --login option,
       it  first  attempts  to read and execute commands from /etc/profile and
       ~/.profile, in that order.  The  --noprofile  option  may  be used  to
       inhibit  this  behavior.  When invoked as an interactive shell with the
       name sh, bash looks for the variable ENV, expands its value  if it  is
       defined,  and uses the expanded value as the name of a file to read and
       execute.  Since a shell invoked as sh does not attempt to read and exe‐
       cute  commands from any other startup files, the --rcfile option has no
       effect.  A non-interactive shell invoked with  the  name  sh  does  not
       attempt  to  read  any  other  startup files.  When invoked as sh, bash
       enters posix mode after the startup files are read.

W
-- 
Willie W. Wong                                     ww...@math.princeton.edu
Data aequatione quotcunque fluentes quantitae involvente fluxiones invenire 
         et vice versa   ~~~  I. Newton

Reply via email to