[Bash] Use Conditional Statements in Bash

Knowing how conditionals work in bash open up a world of scripting possibilities. We’ll learn the basic syntax, including if, else, and elif. Then we'll look at a few of the "primary" operators you can leverage in a conditional statement such as = for string equality, -eq for numeric equality, and -e to check if a file exists. After that, we'll use conditional statements to create a function that asserts that the HTTP status of a given URL is between 200 and 299.

Basic conditional block:

```bash
if [[  ]]; then

fi

Exp:

if [[ $USER = 'username' ]]; then
  echo "true"
else
  echo "false"
fi

not equal: !=
numeric equality: -eq
not equals: -ne
is empty: -z

if [[ 1 -eq 1 ]];

if [[ -z $USER ]];

Elif

if [[ -z $USER ]]; then
  echo "user is empty"
elif [[ 1 -eq 1 ]]; then
  echo "1==1"
else
  echo "false"
fi

Ternary

[[ $USER = 'username' ]] && echo "yes" || echo "no"

Exp:

check_status() {
  ## Get HTTP status code
  local status=$(curl -ILs $1 | head -n 1 | cut -d ' ' -f 2)
  if [[ $status -lt 200 ]] || [[ $status -gt 299 ]]; then
    echo "$1 failed with a $status"
    return 1
  else 
    echo "$1 succeeded with a $status"
  fi
}

check_status https://example.com
check_status https://example.com/404
原文地址:https://www.cnblogs.com/Answer1215/p/14391720.html