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)的函数返回值约定一致。

相关推荐
大飞记Python7 分钟前
【2026更新】Python基础学习指南(AI版)——04数据类型
开发语言·人工智能·python
Alice-YUE1 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
云泽8081 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
froginwe111 小时前
DOM 加载函数
开发语言
Hello eveybody1 小时前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
AI进化营-智能译站2 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
iCxhust2 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
莎士比亚的文学花园2 小时前
Linux驱动开发(3)——设备树
开发语言·javascript·ecmascript
图码2 小时前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
U盘失踪了2 小时前
python curl转python脚本
开发语言·chrome·python