I typed Example 2-3 from Cooper`s Advanced Bash-Scripting Guide into my ~/bin, and it will only run if I include ./ before the filename. My other scripts in the same directory do not behave this way. $PATH includes ~/bin. I copied the file into /usr/local/bin, and it runs without ./ .
./ is needed to run a script not contained in the PATH variable and located in the current directory.
look into the PATH-Variable and check if the directory of the script is really contained in it. Be aware to check for typos! This applys to all scripts in the same directory.
Some more info would be beneficial. For example:
- Is the script really located in ~/bin?
- Any error messages?
- Are the permissions set correctly?
- Does the script refuse to start, or does it fail somewhere in the middle? The -x (xtrace) option might help.
- Does it use a special interpreter / shell, not your default one?
- Do you have the "shebang" set?
- How does it differ from the scripts that do run?
Expanding a little bit on what stomp and RudiC have already said...
What modes are displayed for the files in ~/bin that run without ./ when you run the command:
What modes are displayed for the files in ~/bin that do not run without ./?
What other directories are in $PATH before ~/bin?
Do any of those directories contain a file with the same name as one of the files you are trying to execute?
Normally a shell will execute the first executable file found while going through the directories listed in $PATH in the order in which they appear in $PATH. Some shells will remember where they found an executable file on a previous search and won't look again unless a pathname that had been remembered stops working.
If an execute permission bit that allows you permission to execute it isn't set on a file that you're trying to execute, you usually won't be permitted to execute it by trying to run filename or by ./filename, but the command pathname_of_shell filename will work if filename is a valid script in the shell language recognized by the shell you're invoking with pathname_of_shell.
This User Gave Thanks to Don Cragun For This Post:
@stomp--I double-checked. The file in question is Cleanup2. --- Post updated at 04:15 PM ---
@RudiC and @Don
the file is located in ~/bin (see above)
error message
permissions
shebang
As far as differences, go, I can't find any. Cleanup3 runs fine, but Cleanup2 won't.
Don, I tried locate cleanup and found some other files containing that string, but they aren't in $PATH
@stomp--I double-checked. The file in question is Cleanup2. --- Post updated at 04:15 PM ---
@RudiC and @Don
the file is located in ~/bin (see above)
error message
permissions
shebang
As far as differences, go, I can't find any. Cleanup3 runs fine, but Cleanup2 won't.
Don, I tried locate cleanup and found some other files containing that string, but they aren't in $PATH
Note that cleanup2 and cleanup3 are not the same as Cleanup2 and Cleanup3; case matters in the shell command language!
What output do you get from the commands:
This User Gave Thanks to Don Cragun For This Post:
You didn't mention you're using sudo. The effective user (by default) is root, then. root's $PATH does NOT have ~/bin appended, or, if it has, it won't point to YOUR $HOME nad thus doesn't find cleanup2.
Does sudo cleanup3 run correctly?
Please make sure to post such important info in the first place in future!
First of all, let me state that I am a windows admin.
I have a windows share mounted to /mnt/server
I need a script that will either login as sudo or perform commands with sudo rights. I need the script to copy all of the users /home folders to the mounted windows share. Now If I can... (2 Replies)
Guys,
There is a file where there are 1000s of records.
In the file if some condition satisfies in a certain TAB record (TAB would be first 3 digits of a certain record) then move TAB and all the records (or lines) after TAB to new_file, until another TAB record is encountered in the same... (1 Reply)
Hi...
I have a folder /home/data ;where some files are present.
aaa_asas.txt
bbb_xxx.txt
ccc_xsxas.txt
ddd_sa2esa.txt
------
Also I have a file which is as follows.(/home/file1)
cat /home/file1
aaa you
bbb are
ccc very
ddd good
--------
now I want to rename all the files in the folder... (7 Replies)
i've been given an assignment to Write a system utility called recycle that satisfies the following requirements as they might be displayed in a UNIX/Linux man page:
NAME
recycle - stores files in a recycle bin
SYNOPSIS
recycle ...
DESCRIPTION
Recycle is a replacement for the... (3 Replies)
hi everyone i'm a noob trying to learn unix language.. but seems like i got no leads on how to start..
i'm playing with the 'ps' command.. i'm trying to show the pid, ppid, username, command, cpu utilization (in desc order), process start time and process status.. all in a command.. am i able... (3 Replies)
Hello,
I am quite new to AIX, but have Linux experience.
Iam facing a peoblem with AIX 5.2 running on a 43p Model 150 (RS6000).
I tried everyting and i cant have the network to run properly. :confused:
/etc/hosts looks like this:
127.0.0.1 loopback localhost
192.168.XXX.XXX... (5 Replies)
HI can any one help me with the appropriate answers for the below:
1.Enter an # before a command and press .what do you see,and how do you think you can take advantage of the behaviour?
2.Is tar -cvfb20foo.tar*.c legitimate or not.will this command work without the - symbol?
3.The command... (1 Reply)
Hello
I am a newbie and want to learn unix .
Does unix and linux are one and same.
I have red hat linux cd but i want to take advice from some one wheather unix and linux are same.
If not ,where i'll get a Unix os setup and how i'll install it.
If linux would do then how should... (3 Replies)
Hi
I'm trying to print a directories struct tree that will look like this:
A
_a
_b
_B
__c
__d
__C
___e
B
_a
_b
I'm doing a recursion, but how can I know how much space is needed before printing after the recursion? (3 Replies)