bash - Capture exit code from remote ssh command
<p>I'm looking at capturing the exit status of a remote ssh command within a shell script 
I have a shell script as follows :</p>

<pre><code>function rSSH {
   local x
   echo "Running ssh command"
   x=$(ssh -o StrictHostKeyChecking=no -i $keyPair -o ProxyCommand="ssh -W %h:%p -i $keyPair user@$bastionIP 22" user@$IP "$cmd")

   x=$?
   echo "SSH status is : $x"
   if [ $x -eq 0 ];then
      echo "Success"

   else
      echo "Failure"
      exit 1
   fi
}

rSSH
exit 0
</code></pre>

<p>When I execute the above script as a background job with an invalid $bastionIP( testing failure scenario), it results with an exit code of 0 ( instead of 1) and the only information I see in the logs is the first echo "Running ssh command" and it just exits the script.</p>

<p>Can someone point out what I'm doing wrong or a better way to capture the exit status of the remote ssh command. 
Appreciate any help.</p>