>--- Johnny Hughes <mailing-lists@xxxxxxxxxxxx> wrote: > >> On Sun, 2005-07-31 at 15:56 +0200, dan1 wrote: >> > Hi all. >> > >> > I have a little strange problem. >> > I created a file called 'test.sh' in the root directory containing: >> > #!/bin/sh >> > echo test >> > >> > When I execute it with '/test.sh' there is no output. >> > When I source it by executing it with '. /test.sh' the output comes ok. >> > When I move it to '/root' and execute it with '/root/test.sh' then it >> > works >> >> > perfectly. >> > When I move it to '/home' and execute it with '/home/test.sh' there is >> > no >> > output. >> > >> > Could someone tell me what I shoud do to make the script run without >> > sourcing it with '.' ? >> > This problem happens only on one CentOS 4 box I have, on the others it >> works >> > perfectly. What am I doing wrong ? >> > The permissions are 755 on the file itself, and I execute them logged >> > as >> > root. >> > >> > Thanks, >> > Daniel >> > >> >> Dan, >> >> I can't duplicate your issue ... test.sh prints test on my xterm console >> every time. >> >> It works whether I use echo test or echo "test" ... and works with >> #!/bin/sh or #!/bin/bash ... on my CentOS-4 i386 machine. >> >> It also worked for both root and a non-root user. >> <> -- >> Johnny Hughes >> > _______________________________________________ >> > >Does this happen with all the scripts you try to run or just this one? > >If it is just with this one, rename it to something like abc.sh >and see if it works. > >Could be because the shell is getting it confused with the 'test' operator. > Hello all. Thanks for your try to help me, Johnny, Peter and Bruce. Yes, this happens with almost all scripts. However I don't think that this is related to the PATH, because I can even access the file directly with it's path like '/test.sh' and the problem is the same. I also renamed the file and this doesn't change anything to the problem neither. On one script that I have, it went differently: [root@box scripts]# ./get_ipaddress bash: ./get_ipaddress: bin/sh: bad interpreter: No such file or directory [root@box scripts]# sh ./get_ipaddress 154.37.1.234 [root@box scripts]# This script is the following: #!bin/sh CURRENT_IP=`/sbin/ifconfig eth0 | grep inet | cut -d : -f 2 | cut -d \ -f 1` export CURRENT_IP echo $CURRENT_IP So it's like if it wouldn't find the /bin/sh, because it shows 'bin/sh' instead of '/bin/sh'. Maybe this is the error ? How could I fix it then ? I checked in /etc/passwd and the definition under root is '/bin/bash', but I don't think that the interpreter path is read there for running scripts, does anybody know ? And again, this doesn't happen on two other exactly same boxes I have there (so almost, appart of this little misconfiguration).. My PATH is the following: [root@anoigo bin]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/home/dan/bin:/sbin:/usr/sbin Thanks, Daniel