On Thu, May 20, 2010 at 04:55:29PM -0700, Jerry Franz wrote:
I would start by comparing the values of all the environment variables between running as /bin/sh and /bin/bash:
env > bash_env.txt /bin/sh env > sh_env.txt exit diff bash_env.txt sh_env.txt
Jerry,
That's a good idea. To repeat my earlier findings both these work:
"bash /etc/init.d/smb start" "sh /etc/init.d/smb start"
and that's with either #!/bin/sh or #!/bin/bash as the first line.
Meanwhile this doesn't work
"/etc/init.d/smb start"
and that's with either #!/bin/sh or #!/bin/bash as the first line.
Also, if I go to sh as the shell:
"/etc/init.d/smb start" - doesn't work
"sh /etc/init.d/smb start" starts - well, it shows blank rather than [ OK ] for SMB services, which is different, but it starts both smbd and nmbd just fine.
and
"bash /etc/init.d/smb start" works in the sh shell just fine too.
So the difference in envars isn't the difference in whether it runs, unless running a shell within a shell (within a shell) does something odd to them.
In any case:
# diff bash_env.txt sh_env.txt 2d1 < TERM=rxvt 3a3
TERM=rxvt
6d5 < OLDPWD=/var/log/samba/cores/smbd 10d8 < MAIL=/var/spool/mail/root 12c10,11 < INPUTRC=/etc/inputrc ---
MAIL=/var/spool/mail/root _=/bin/env
13a13
INPUTRC=/etc/inputrc
15d14 < SHLVL=1 16a16
SHLVL=2
22d21 < _=/bin/env
Do you see something there I don't?
I'm starting to feel the bad hardware hypothesis might be the only one left standing. The smb script and environment seems too simple to go so wrong.
Whit