Link to home
Start Free TrialLog in
Avatar of bswinnerton
bswinnertonFlag for United States of America

asked on

Link doesn't work for /usr/local/bin

Hi there,

I'm trying to get a program to work that as soon as I fire up terminal, I can just type "program" for example and have it open in the terminal.  For some reason i'm having a heck of a time.  The program that I'm trying to install requires a .ini file (Or so I'm guess, i could be completely wrong).  Anyways, here is the command that I tried:

sudo ln -s /Users/myuser/documents/program /usr/local/bin/program

and then to make it executable:

sudo chmod a+x /usr/local/bin/program

Now when I type "program" (Without the quotation marks ofcourse) in terminal, I get:

fopen: program.ini: No such file or directory
Avatar of ozo
ozo
Flag of United States of America image

what do you get when you type
/usr/local/bin/program
Avatar of bswinnerton

ASKER

fopen: /usr/local/bin/program.ini: No such file or directory
However it does work inside of its natural folder (/Users/myuser/documents/program)
you might want to try and add  /Users/myuser/documents to your path but it's looking for files that exist in the original directory.

where does program.ini exist?
Avatar of AJVienna
AJVienna

you might wanna try to use alias instead (that way you do not require a link):
alias program="/Users/myuser/documents/program"
PS: If that works you have to add it to your ~/.bashrc to make it permanent.
I tried the alias, and then chmod a+x, but now when I hit enter in terminal, it doesn't launch it, it just goes to the next line.

and @jgiordano, I don't know where program.ini is. I checked the terminal program directory i'm trying to run and its not anywhere in there. (But again it works if i run it from the normal directory).  What do you mean by adding /Users/myuser/documents to your path?  Like CD first? That would defeat the purpose of having it in /usr/local/bin.
no, in your .bashrc  in your home directory add

google PATH for linux so you understand a little of how it works but it would be something like below.

export PATH=$PATH:/Users/myuser/documents
you could also write a small script

#!/bin/sh
cd /Users/myuser/documents/program
program

Put the script to /usr/local/bin/program
and chmod u+x it.

The program changes the path, but just for the program itself. The current directory remains the same.
Hmm, I don't see why my computer is being so difficult! =P

I tried the script idea and now when I try it I get:

/usr/local/bin/program: fork: Resource temporarily unavailable
But once again, if I go like this:

/Users/myuser/Documents/program

It works..
Okay, Today I CD'd into a directory and it worked! I'm not sure which step it was, but thank you!!
I'm sorry, please disregard that last post.  That was meant for a different topic XD
Is 'program' a binary or script?  If it's a script, could you please post the contents.
The program is "John the ripper" Used specifically for testing my own passwords in my own environment.
Does the line:
open /Users/myuser/documents/program
work, either directly or in the script?
Yes, that opens it up in a new terminal and runs it.
Actually, maybe not.  The program is designed so that you would type "program" and then "file" so that you would have the program work on a certain file.  If you type open program file it just opens both of them, instead of having program work on the file.
Oh, that was important information. That is probably the reason why the script solution did not work.
Then try this alternative script:


#!/bin/sh
cd /Users/myuser/documents/program
program $@

Open in new window

I get:  line 3: program: command not found


It should of course cd correctly like below. Maybe you corrected that yourself, but the error message looks as if not. I assume you translated the name of your program to program?
#!/bin/sh
cd /Users/myuser/documents
program $@

Open in new window

What is the exact filename of your program?
Yes, I correctly changed the filename.  It is actually called "john".  I think what the error was saying was that it doesn't know the command program.
ASKER CERTIFIED SOLUTION
Avatar of AJVienna
AJVienna

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial