📜  bash if 在终端中 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:28.198000             🧑  作者: Mango

Bash If 在终端中 - Shell-Bash

在编写 Bash 脚本时,if 语句是必备之一,它允许您根据条件执行代码块。

基本语法
if condition
then
    command
fi

condition 是要测试的条件,如果条件为 true,则执行 command。"then" 语句块必须以 fi 结尾。如果条件为 false,则 command 不会被执行。

按表达式类型评估条件

在 Bash 中,条件可以是一个比较、一个文件测试、一个逻辑测试等。下面是一些常用的条件类型:

比较

比较运算符用于比较两个值,例如 -eq、-lt、-gt、-ne 等。

if [ $a -eq $b ]
then
    echo "a is equal to b"
fi
文件测试

可以使用条件测试运算符测试文件的状态,例如 -d、-f 和 -s。

if [ -d /path/to/dir ]
then
    echo "directory exists"
fi
逻辑测试

可以使用逻辑运算符组合两个表达式,例如 &&、|| 和 !。

if [ $a -eq 1 ] && [ $b -eq 2 ]
then
    echo "a is 1 and b is 2"
fi
字符串测试

字符串测试用于测试字符串是否为 null 或非 null。

if [ -z $var ]
then
    echo "var is null"
fi
示例

以下是一个 Bash 脚本示例,该脚本使用 if 语句来检查用户是否为管理员。如果 user 变量包含字符串 "admin",则脚本将输出 "Welcome Admin"。否则,脚本将输出 "Access Denied"。

#!/bin/bash
user="admin"

if [ $user == "admin" ]
then
  echo "Welcome Admin"
else
  echo "Access Denied"
fi

在终端中执行脚本:

$ ./script.sh
Welcome Admin
总结

if 语句是 Bash 程序中一个强大的工具,它允许您根据条件执行代码块。要使 if 语句起作用,请记住在 then 后面放一个空格,fi 语句必须是 if 语句块结束的最后一条语句,条件必须用方括号括起来,每个组件必须用空格分隔。