bswinnerton
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/pr ogram /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
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/pr
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
ASKER
fopen: /usr/local/bin/program.ini : No such file or directory
ASKER
However it does work inside of its natural folder (/Users/myuser/documents/p rogram)
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?
where does program.ini exist?
you might wanna try to use alias instead (that way you do not require a link):
alias program="/Users/myuser/doc uments/pro gram"
alias program="/Users/myuser/doc
PS: If that works you have to add it to your ~/.bashrc to make it permanent.
ASKER
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.
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/d ocuments
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/d
you could also write a small script
#!/bin/sh
cd /Users/myuser/documents/pr ogram
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.
#!/bin/sh
cd /Users/myuser/documents/pr
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.
ASKER
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
I tried the script idea and now when I try it I get:
/usr/local/bin/program: fork: Resource temporarily unavailable
ASKER
But once again, if I go like this:
/Users/myuser/Documents/pr ogram
It works..
/Users/myuser/Documents/pr
It works..
ASKER
Okay, Today I CD'd into a directory and it worked! I'm not sure which step it was, but thank you!!
ASKER
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.
ASKER
The program is "John the ripper" Used specifically for testing my own passwords in my own environment.
Does the line:
open /Users/myuser/documents/pr ogram
work, either directly or in the script?
open /Users/myuser/documents/pr
work, either directly or in the script?
ASKER
Yes, that opens it up in a new terminal and runs it.
ASKER
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:
Then try this alternative script:
#!/bin/sh
cd /Users/myuser/documents/program
program $@
ASKER
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 $@
What is the exact filename of your program?
ASKER
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
/usr/local/bin/program