专业网站建设容桂网站建设

麻城裕顺石业有限公司 2026/09/09 21:11:21

Shell 中的判断语句(Conditionals)是控制脚本逻辑的核心。虽然它的功能和 Python 的if类似,但语法结构非常严谨,尤其是空格的要求极其严格。

我们可以把 Shell 的判断语句拆解为:结构比较符文件检查三个部分。


1. 基础语法结构

Shell 的if语句必须以if开头,以fi(if 的反写)结尾。

if[条件];then# 条件为真时执行elif[其他条件];then# 其他条件为真时执行else# 以上都不满足时执行fi

⚠️ 致命细节:[之后和]之前必须有空格

  • 错误:if [$a==$b]
  • 正确:if [ $a == $b ]

2. 数值比较(重点:不同于 Python)

在 Shell 的[ ]表达式中,数字比较不使用><,而是使用字母缩写:

符号含义对应英文Python 对应
-eq等于equal==
-ne不等于notequal!=
-gt大于greaterthan>
-ge大于等于greaterequal>=
-lt小于lessthan<
-le小于等于lessequal<=

例子:

if[$NUM_DEVICES-gt1];thenecho"正在使用多卡训练"fi

3. 字符串比较

字符串比较则使用我们熟悉的符号:

  • ===:等于(注意两边空格)
  • !=:不等于
  • -z:判断字符串是否为(常用语检查变量是否定义)

例子:

if[-z"$EXP_NAME"];thenecho"错误:实验名称不能为空!"exit1fi

4. 文件检查(Shell 的拿手好戏)

这是你在train.sh中最常用的功能,专门用来判断磁盘上的文件状态:

选项作用
-f判断是否为文件且存在 (file)
-d判断是否为目录且存在 (directory)
-e判断是否存在(exists),不管是文件还是目录
-r/-w/-x判断是否有读/写/执行权限

例子(结合你的需求):

# 判断 stats.json 是否存在if[-f"stats.json"];thenecho"文件已找到"elseecho"文件不存在"fi

5. 逻辑组合

如果你需要同时判断两个条件,可以使用:

  • -a(and):逻辑与
  • -o(or):逻辑或

或者使用更现代的[[ ]](双中括号)结构,它支持&&||

# 如果是文件 并且 变量 a 大于 10if[[-f"$FILE"&&$a-gt10]];thenecho"满足双重条件"fi

6. 一个“潜规则”:$?

在 Shell 中,每条命令执行完都会返回一个状态码,存储在$?中。

  • 0:代表成功(True)
  • 非 0:代表失败(False)

这和 Python 的逻辑(0 为假,非 0 为真)是完全相反的,因为在系统层面,报错码通常是 1, 2, 3…,而 0 标志着一切正常。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

建设厅网站梧州网站建设

前言在当下音乐创作和编曲日益数字化的背景下,一款功能强大、操作直观的乐谱制作工具已成为无数音乐人、教师和学生的刚需。MuseScore 正因其免费开放、功能完善、支持多平台等特性

2026/06/30 11:44:57

济南网站建设pc网站建设

智慧树网课助手终极指南:3步解决你的学习效率痛点【免费下载链接】zhihuishu智慧树刷课插件,自动播放下一集、1.5倍速度、无声项目地址: https://gitcod

2026/06/30 12:45:04

深圳营销型网站建设东莞南城网站建设

第一章:无影AgentBay与Open-AutoGLM架构全景无影AgentBay是阿里云推出的一站式AI智能体开发与运行平台,致力于为开发者提供从模型训练、推理部署到智能

2026/06/30 13:03:34

海南网站建设杭州营销型网站建设

DownKyi实战宝典:5大核心技巧让B站视频下载效率翻倍【免费下载链接】downkyi哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载&#x

2026/06/30 12:23:30

门户网站建设方案长沙营销型网站建设

如何在服务器上运行 CosyVoice3?从一行命令看懂 AI 语音合成的现代实践在智能内容生产加速演进的今天,个性化语音不再只是大厂专属的技术壁垒。当一个开发者只需输入c

2026/06/30 11:14:24

网站的建设浙江网站建设

一边是刚刚完成测试、等待出厂的人形机器人,另一边是工程师正在为机器人调试赋予“灵魂”的大脑。在被称为人形机器人商用元年的2025年年末,这一幕正在真实上演。就在几天前&#x

2026/06/30 13:56:08

长沙营销型网站建设网站建设专家

深度学习环境搭建新范式:从 PyTorch 到 GPU 加速的无缝实践在深度学习项目启动的第一天,你是否也经历过这样的场景?满怀热情地打开电脑,

2026/06/30 12:43:32

电器网站建设宝安网站建设

CTF流量分析实战指南:从手足无措到游刃有余的进阶之路【免费下载链接】CTF-NetA项目地址: https://gitcode.com/gh_mirrors/ct/CTF-NetA还在

2026/06/30 11:47:27

专业网站建设网站建设案例

dupeGuru终极指南:5分钟快速上手重复文件清理【免费下载链接】dupeguruFind duplicate files项目地址: https://gitcode.com/gh_mi

2026/06/30 13:48:07

嘉兴网站建设宁波网站建设公司

3分钟搞定联发科手机救砖:MTKClient工具完全使用指南【免费下载链接】mtkclientMTK reverse engineering and flash tool项目地址: ht

2026/06/30 10:26:50