Solved

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

Posted on 2008-10-20
24
461 Views
Last Modified: 2013-11-14
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
0
Comment
Question by:bswinnerton
  • 12
  • 8
  • 2
  • +2
24 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 22761037
what do you get when you type
/usr/local/bin/program
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22761086
fopen: /usr/local/bin/program.ini: No such file or directory
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22761091
However it does work inside of its natural folder (/Users/myuser/documents/program)
0
 
LVL 11

Expert Comment

by:jgiordano
ID: 22761120
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?
0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22761195
you might wanna try to use alias instead (that way you do not require a link):
alias program="/Users/myuser/documents/program"
0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22761204
PS: If that works you have to add it to your ~/.bashrc to make it permanent.
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22761414
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.
0
 
LVL 11

Expert Comment

by:jgiordano
ID: 22761531
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
0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22761787
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.
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22763004
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
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22763022
But once again, if I go like this:

/Users/myuser/Documents/program

It works..
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22763306
Okay, Today I CD'd into a directory and it worked! I'm not sure which step it was, but thank you!!
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 5

Author Comment

by:bswinnerton
ID: 22763315
I'm sorry, please disregard that last post.  That was meant for a different topic XD
0
 
LVL 48

Expert Comment

by:Tintin
ID: 22763661
Is 'program' a binary or script?  If it's a script, could you please post the contents.
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22763691
The program is "John the ripper" Used specifically for testing my own passwords in my own environment.
0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22769351
Does the line:
open /Users/myuser/documents/program
work, either directly or in the script?
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22770594
Yes, that opens it up in a new terminal and runs it.
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22770611
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.
0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22778507
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

0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22778648
I get:  line 3: program: command not found


0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22778836
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

0
 
LVL 5

Expert Comment

by:AJVienna
ID: 22778843
What is the exact filename of your program?
0
 
LVL 5

Author Comment

by:bswinnerton
ID: 22781015
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.
0
 
LVL 5

Accepted Solution

by:
AJVienna earned 500 total points
ID: 22783488
a wait of course. The program is not in your path. Thus it has to be
./john
in the script.
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
Windows 10 is here and for most admins this means frustration and challenges getting that first working Windows 10 image. As in my previous sysprep articles, I've put together a simple help guide to get you through this process. The aim is to achiev…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now