I wanted to execute several statements in an if condition as follows:[[ -e cli.tar.gz ]] && `tar -xvf cli.tar.gz -C ~/` ||         echo cli.tar.gz can not be found. Exiting >&2 && exit 1What happened is that the exit 1 was reached when cli.tar.gz is found and tarred, i.e. exactly the opposite of what I was trying to achieve, so I added parentheses around the part after the OR as follows[[ -e cli.tar.gz ]] && tar -xvf cli.tar.gz -C ~/ ||    { echo cli.tar.gz can not be found. Exiting >&2; exit 1; }I received an error unexpected token '}' at the end of the function (this line is part of a function)I solved my problem by writing a good formatted if condition like thisif [[ -e cli.tar.gz ]]then    if [[ ! `tar -xvf cli.tar.gz -C ${UDM_REMOTE}` ]]    then        echo cli.tar.gz can not be found. Exiting >&2; exit 1;    fifiBut still what would have been the solution of doing nested if condition in one line like what I've tried to achieve initially?Update 1Thanks to the answers of @uwe and @goldilocks I updated the statement as follows which now works[[ ! -e cli.tar.gz ]] && ! `tar -xvf cli.tar.gz -C ~/` && \   echo cli.tar.gz can not be found (or tar failed). Exiting >&2 && exit 1
Multi statement if condition in bash
bash