checking wget's return value [if]
Others have correctly posted that you can use $?
to get the most recent exit code:
wget_output=$(wget -q "$URL")
if [ $? -ne 0 ]; then
...
This lets you capture both the stdout and the exit code. If you don't actually care what it prints, you can just test it directly:
if wget -q "$URL"; then
...
And if you want to suppress the output:
if wget -q "$URL" > /dev/null; then
...
$r
is the text output of wget (which you've captured with backticks). To access the return code, use the $?
variable.
$r
is empty, and therefore your condition becomes if [ -ne 0 ]
and it seems as if -ne
is used as a unary operator. Try this instead:
wget -q www.someurl.com
if [ $? -ne 0 ]
...
EDIT As Andrew explained before me, backticks return standard output, while $?
returns the exit code of the last operation.