Hi i am working on somoething , i need to create a if statement which will take multiple variables in ‘&&’ and ‘||’ combination . for now i am trying to this this simple task but i am getting errors ‘Command not found’. i want to first && two counts than || it with a flag i set in my code. following is the code i am trying
if [[$pcount -eq 0 ] && [$ucount -eq 0]] || [test $flag -eq 1]
then
do my stuff
else
exit 1
fi
thank you in advance.
You can’t nest
[ ... ]because[is a shell command, not a separate syntactic construct. In Bash, you can use the[[ ... ]]syntactic construct which does support nesting, and in portableshyou can use the( ... )parentheses for precedence:Additional remarks:
[test condition]doesn’t make sense, since the[operator is already an alias fortest. Write either[ condition ]ortest condition.Leave a space before
[and the test, otherwiseshwon’t recognize the[as a command name.[is a command like any other and is not associated with special parsing rules.