Skip to content

Latest commit

 

History

History

exit-code-conditional

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Check Command Result

We can check for the exit code of the last executed shell command by examining the $? variable.

kubectl get pods | grep auth-server
echo $?  # Prints 0 if auth-server is found in the output of kubectl, prints 1 otherwise.

Conditional

We can integrate running a command and use an if-then-fi statement block to check on the command's exit code. We can do this.

kubectl get pods | grep auth-server
if [ $? -eq 0 ]; then
  echo 'found'
else
  echo 'not found'
fi

We can also do this...

kubectl get pods | grep auth-server && echo 'found' || echo 'not found'

While the above examples are legit and works, they are in general not a good practice. Read here and here for why && || and command if [ $? -eq 0 ]; then... are bad respectively.

The preferred way is:

if kubectl get pods | grep auth-server; then
  echo 'found'
else
  echo 'not found'
fi

Alternatively...

if ! kubectl get pods | grep auth-server; then
  echo 'not found'
else
  echo 'found'
fi