bash “ if <command>; then”语句,<command>返回0,then后面语句才执行
2026/5/27 8:32:03 网站建设 项目流程

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询