在Linux脚本中,if语句用于根据条件执行不同的代码块,以下是一个详细的示例和解释:
基本语法

if [ condition ]; then
# Commands to execute if condition is true
elif [ another_condition ]; then
# Commands to execute if another_condition is true
else
# Commands to execute if none of the above conditions are true
fi 示例脚本
假设我们有一个文件/etc/passwd,我们希望检查这个文件是否存在并且可读,如果存在且可读,则输出 "File exists and is readable";否则,输出 "File does not exist or is not readable"。
#!/bin/bash
FILE="/etc/passwd"
if [ -e "$FILE" ] && [ -r "$FILE" ]; then
echo "File exists and is readable"
else
echo "File does not exist or is not readable"
fi 详细解释
if [ condition ]; then ... fi: 这是基本的if 结构。[ condition ] 是测试条件,then 后面的部分是当条件为真时执行的命令。
elif [ another_condition ]; then ... else ... fi: 这是if 结构的扩展,允许多个条件判断。
-e "$FILE": 检查文件是否存在。
-r "$FILE": 检查文件是否可读。
单元表格
| 符号 | 含义 |
if | 开始一个条件判断 |
[ condition ] | 测试条件 |
then | 如果条件为真,执行接下来的命令 |
elif | 如果前面的条件不成立,检查另一个条件 |
else | 如果所有条件都不成立,执行这部分命令 |
fi | 结束if 结构 |
常见条件测试
| 条件 | 含义 |
-e FILE | 检查文件是否存在 |
-f FILE | 检查文件是否为普通文件 |
-d DIR | 检查目录是否存在 |
-r FILE | 检查文件是否可读 |
-w FILE | 检查文件是否可写 |
-x FILE | 检查文件是否可执行 |
-s FILE | 检查文件是否非空(存在且大小大于零) |
STRING1 = STRING2 | 检查两个字符串是否相等 |
NUM1 -eq NUM2 | 检查两个数字是否相等 |
NUM1 -ne NUM2 | 检查两个数字是否不相等 |
NUM1 -lt NUM2 | 检查第一个数字是否小于第二个数字 |
NUM1 -le NUM2 | 检查第一个数字是否小于或等于第二个数字 |
NUM1 -gt NUM2 | 检查第一个数字是否大于第二个数字 |
NUM1 -ge NUM2 | 检查第一个数字是否大于或等于第二个数字 |
通过这些条件测试,你可以构建复杂的if 语句来处理各种情况。
小伙伴们,上文介绍linux 脚本 if f的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/91469.html