微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐