[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
posted @   Zhentiw  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-02-09 [ReactVR] Animate Text, Images, Views, and 3D Elements Using the Animated Library in React VR
2016-02-09 [Cycle.js] Fine-grained control over the DOM Source
2016-02-09 [Cycle.js] Making our toy DOM Driver more flexible
2016-02-09 [Redux] Generating Containers with connect() from React Redux (VisibleTodoList)
2016-02-09 [MongoDB] Remove, update, create document
点击右上角即可分享
微信分享提示