in reply to Re: OT: invoking shell script with relative path and absolute path
in thread OP: invoking shell script with relative path and absolute path

Hi,

which compile.shgives me correct path of compile.sh, that path is available in PATH variable.


All is well. I learn by answering your questions...
  • Comment on Re^2: OT: invoking shell script with relative path and absolute path
  • Download Code

Replies are listed 'Best First'.
Re^3: OT: invoking shell script with relative path and absolute path
by hippo (Archbishop) on Feb 10, 2020 at 11:38 UTC

    Without more data it's going to be hard to guess what's happening in that case. Here's an SSCCE which might help:

    cd /tmp cat > foo.sh <<EOT #!/bin/sh echo Relative path ./bar.sh echo Absolute path /tmp/bar.sh echo No path bar.sh EOT cat > bar.sh <<EOT #!/bin/sh echo bar running as \$0 EOT chmod 0755 foo.sh bar.sh sudo chown root bar.sh sudo cp -p bar.sh /usr/local/bin ./foo.sh

    Running this locally (not on Solaris!) gives this expected output:

    Relative path bar running as ./bar.sh Absolute path bar running as /tmp/bar.sh No path bar running as /usr/local/bin/bar.sh

    If you see the same, then you'll need to determine what's different about functions.sh and compile.sh compared to foo.sh and bar.sh. Don't forget to remove bar.sh from /usr/local/bin when you're done. Good luck.