Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
When cron checks the crontab and launches the setiathome process all goes well, but if I cd to the setiathome folder and try to manually launch the process with the same command, that is:
./setiathome -nice 19 1>/dev/null 2>/dev/null
I get an error message from the shell that says:
Ambiguous output redirect.
and the process isn't launched.
Why?
I use the tcsh shell on Mac OS X 10.2.8.
TIA.
Originally posted by slightcrazed I *think* this is because tcsh does not recognize bash style redirects (1>/dev/null). Can you launch the app without the redirects?
Yes, naturally.
Quote:
Originally posted by slightcrazed I don't use tcsh, so I don't know the proper syntax for the redirect that you are doing.
man tcsh might help out with this.
Probably you're right, I searched in man tcsh and there is written that to redirect standard and diagnostic output the right sintax is:
>& \dev\null
But I'm still wondering why the same line in the crontab file works, and if I launch it from the shell it doesn't work.
Perhaps cron uses another shell?
If so, how can I know what shell it uses?
Possible. I'll do some reading on cron and see if that is the case. Honestly, I don't use cron that often, so I never paid attention to which shell it uses.
In my crontab file I haven't specified any shell.
Searching with Google I found this: http://www.gsp.com/cgi-bin/man.cgi?s...&topic=crontab
It says "Several environment variables are set up automatically by the cron(8) daemon. SHELL is set to /bin/sh, […]".
To prove this I have placed this line in my crontab:
*/1 * * * * echo $SHELL > ~/usedShell.txt
Then I looked at the file originated and is says exactly "/bin/sh"!
Thanks a lot for all the answers!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.