bash “ if <command>; then”语句,<command>返回0,then后面语句才执行

1,

if <command>; then 语句

  • <command> 返回 0 时,表示成功 ,条件为 ,会执行 then 分支
  • <command> 返回非 0 值时,表示失败 ,条件为 ,不会执行 then 分支

示例

复制代码
# 示例 1:命令成功(返回 0)
if ls /tmp; then
    echo "列出 /tmp 目录成功"
fi

# 示例 2:命令失败(返回非 0)
if ls /nonexistent; then
    echo "这不会执行"
else
    echo "目录不存在"
fi

# 示例 3:测试退出码
if grep "pattern" file.txt; then
    echo "找到匹配项"
fi

2,

你可以用 $? 查看上一个命令的退出状态码:

eg 1

在file文件里面查找 'pattern' 单词,实际上file文件不存在,grep返回2.

如果文件存在,grep找到返回0;grep找不到,返回1

复制代码
y@vpsaaa-0:~$ grep "pattern" file
grep: file: No such file or directory
y@vpsaaa-0:~$ echo $?
2

ls /tmp
echo $?  # 输出 0(成功)
ls /nonexistent
echo $?  # 输出非 0 值(失败,通常是 2)

3,

bash 的标准:0 表示成功/真,非 0 表示失败/假

这与很多编程语言(如 C)的函数返回值约定一致。

相关推荐
张np5 分钟前
java框架和http调用接口的区别
java·开发语言·http
李日灐9 分钟前
【优选算法3】二分查找经典算法面试题
开发语言·c++·后端·算法·面试·二分查找·双指针
zzwq.11 分钟前
PyMySQL 详解:从入门到实战,Python 操作 MySQL 一站式指南
开发语言·python
小松加哲12 分钟前
MyBatis完整流程详解
java·开发语言·mybatis
Z1Jxxx15 分钟前
C++ P1151 子数整数
开发语言·c++·算法
User_芊芊君子15 分钟前
Python+Agent入门实战:0基础搭建可复用AI智能体
开发语言·人工智能·python
ths51229 分钟前
测试开发python中正则表达式使用总结(二)
开发语言·python·算法
色空大师29 分钟前
【java打包方式详解】
java·开发语言·部署·打包·启动脚本·jar包分离
人道领域30 分钟前
2026年Java后端热点全景解析:从LTS革新到云原生跃迁
java·开发语言
heimeiyingwang30 分钟前
【架构实战】API接口防刷与限流策略
开发语言·python·架构