0

Orignal code, meant for Ubuntu:

./rebar get-deps
./rebar compile

When I try:

sh start.sh
start.sh: line 5: ./rebar: No such file or directory

The fix is simple, just remove ./

But how to make the script running both on Ubuntu and Mac without forcing user to make any changes?


EDIT / UPDATE: rebar is Erlang tool installed via brew install rebar

Here is the original start.sh file: https://github.com/aeternity/testnet/blob/master/start.sh

I think it's difference between Mac and Ubuntu - the script supposedly works on Ubuntu (didn't have a chance to try) - while on Mac I had to remove ./ (I need to check on Ubuntu myself)

1
  • 1
    I think you need to give us a little more info. Is rebar a script that is in the same directory as start.sh? Or is rebar a program available in your $PATH? Is the "original code" part of that start.sh script? What are the permissions of the respective files? (Can you post a minimal version of the start.sh script?) What you describe doesn't seem to be a problem caused by a difference between macOS and Linux.
    – slhck
    Commented Apr 8, 2017 at 8:26

1 Answer 1

0

./rebar is adressing the file in the present workdirectory, only. Starting rebar forces a look-up in the directories in your PATH environment.

If these are the only two options you may add to your script:

REBAR="rebar"
[ -x ./rebar ] && REBAR="./rebar"   # check if rebar is in pwd

$REBAR get-deps
$REBAR compile 
...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .