Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   Bash / Shell Scripting (http://www.programmingforums.org/forum26.html)
-   -   why isnt this working, from crontab? (http://www.programmingforums.org/showthread.php?t=12636)

mima Feb 21st, 2007 2:33 PM

why isnt this working, from crontab?
 
Hello

I'm a newbie of bash programming and need some help with this.
The problem is that it workes if I run it from the shell but if I run it from crontab it doesnt then I get "command not found" when calling on an extern program even if the path to the extern program is defined in $HOME/.bash_profile


I have 2 bash files
1) a. bash where the logic is
2) b.bash where common functions are stored

in a.bash I include b.bash by doing

#!/bin/bash
#
# Description:
. /<dest_to_file>/b.bash


from a.bash I then call on some functions that are stored in b.bash...
lets now say I have called on a function that are stored in b.bash and from b.bash I call on an extern program "program_a" then I get error output "command not found" even if the path to "program_a" is defined in $HOME/.bash_profile. This occurs when I run the program from crontab but not when I run it manually from shell. (The cronjob is runned by same user as from shell)

I would really apprechiate if anyone could help me to explain why its not working?


/Regards /MiMa

Serinth Feb 21st, 2007 2:59 PM

So let me get this straight, you want to call b.bash from a.bash but it's giving you an error in path. I think the problem is that you used ./path/b.bash. I believe you can exclude the .

mima Feb 21st, 2007 3:06 PM

Quote:

Originally Posted by Serinth (Post 124229)
So let me get this straight, you want to call b.bash from a.bash but it's giving you an error in path. I think the problem is that you used ./path/b.bash. I believe you can exclude the .

Hello

No b.bash is included in a.bash, from b.bash I call on an extern program "program_a" that gives me the error "program_a" command not found.
The path to "program_a" is in $HOME/.bash_profile

If I want to include a bashprogram into another one dont I do as:

---in a.bash -------
#!/bin/bash
#
. /b.bash


-------------------

I really dont know whats wrong because as I sayd it works when I run a.bash from shell but its not working when it is included in crontab.

Best regards /MiMa

Arevos Feb 21st, 2007 3:29 PM

Perhaps if you posted the actual offending line, along with the absolute locations of each file?

mima Feb 21st, 2007 4:56 PM

I seems to have solved the problem

the crontab has not the same environ set as I have from the shell

By including them in my script by doing

. $HOME/.bash_profile

it solved the problem

Regards/MiMa


All times are GMT -5. The time now is 12:34 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC