Here if java doesn't exist in the system it throws some output like
no java in (/usr/local/bin:/usr/bin:)
And I don't want this to be on the console.
So, even after redirecting the output to /dev/null it's still sending the output to the console.
Any idea?
Sujoy Choudhury wrote:
So, even after redirecting the output to /dev/null it's still sending the output to the console.
Unix (Linux) doesn't have a "the output". It has 2 outputs: stdout and stderr. The constructs ">xxxx" and "1>xxxx" redirect stdout to "xxxx", but do not affect stderr. The construct "2>xxxx> redirects stderr to "xxxx" but does not affect stdout. The construct ">& xxxx" redirects both stdout and stderr to "xxxx".
Your problem was that the output was being channelled to stderr when you thought it would be going to stdout.
Education won't help those who are proudly and willfully ignorant. They'll literally rather die before changing.