当前位置: 首页 > news >正文

Linux Shell 脚本入门、执行方式与批量压解实战

一、前言

Shell 脚本是 Linux 运维自动化的核心工具,本质是将多条 Linux 命令按逻辑顺序写入文本文件,批量自动执行。日常重复操作、定时备份、服务巡检、批量处理文件都可以用脚本实现,大幅提升效率。本文从脚本格式规范讲起,重点讲解主流执行方式、运行环境差异,是学习 Shell 编程的第一步。


二、Shell 脚本基础规范

1. 脚本第一行(解释器声明)

脚本首行必须指定解析器,标准写法:

bash

运行

#!/bin/bash
  • #!:魔法标记,告诉系统使用哪个解释器运行脚本
  • /bin/bash:指定使用 Bash 解释器(Linux 默认 Shell)
  • 也可写#!/bin/sh,兼容性更强,功能比 bash 少

2. 注释规则

#开头的内容为注释,脚本执行时会忽略,用于写说明、备注:

bash

运行

# 这是单行注释 #!/bin/bash echo "Hello Shell" # 行内注释

3. 编写第一个测试脚本

  1. 创建脚本文件

bash

运行

vim first.sh
  1. 写入以下内容

bash

运行

#!/bin/bash # 我的第一个Shell脚本 echo "========== 系统信息 ==========" echo "当前所在目录:$(pwd)" echo "当前登录用户:$(whoami)" ls -l
  1. 保存退出(ESC:wq

三、Shell 脚本 4 种执行方式(重点)

针对上面first.sh,逐一演示执行方式、权限要求、运行环境、适用场景。

方式 1:使用 sh /bash 解释器执行(推荐)

特点:不需要给脚本添加执行权限,最简单、调试首选。

bash

运行

# 用 bash 执行 bash first.sh # 用 sh 执行(兼容老旧系统) sh first.sh

运行环境:开启子 Shell,脚本内切换目录、修改变量,不会影响当前终端。

方式 2:绝对路径 / 相对路径执行

前提:脚本必须拥有执行权限 (x)

第一步:添加执行权限

bash

运行

chmod +x first.sh
第二步:执行脚本

bash

运行

# 相对路径(当前目录) ./first.sh # 绝对路径(示例,根据实际路径修改) /root/first.sh

运行环境:同样开启子 Shell,和bash/sh行为一致。

方式 3:source 或。点命令执行

特点:不需要执行权限,在当前 Shell 终端中运行,不开启子 Shell。

bash

运行

# 完整写法 source first.sh # 简写写法(点 + 空格 + 脚本名) . first.sh
核心区别演示

在脚本中加入切换目录命令:

bash

运行

#!/bin/bash cd /opt pwd

使用source执行后,当前终端会直接切换到 /opt 目录;使用bash/./执行,终端目录不会变化。

适用场景:加载环境变量、读取配置文件、临时切换工作目录。

方式 4:后台后台运行脚本(常驻 / 静默执行)

适用于长时间运行的脚本,关闭终端也不中断,搭配&使用。

bash

运行

# 后台运行,日志输出到空(静默) bash first.sh > /dev/null 2>&1 &

四、四种执行方式核心对比表

表格

执行方式是否需要执行权限是否开启子 Shell主要用途
bash/sh 脚本名不需要日常调试、通用执行
./脚本名需要chmod +x标准脚本运行、规范上线
source / . 脚本名不需要加载配置、环境变量
脚本名 &后台执行按需长时间任务、无人值守

五、基础语法补充(入门必看)

1. 简单变量使用

bash

运行

#!/bin/bash # 定义变量,等号两边不能有空格 name="Shell脚本" # 调用变量,加 $ echo "正在学习:$name"

2. 命令嵌套$(命令)

把一条命令的执行结果,嵌入另一条命令中:

bash

运行

echo "当前时间:$(date)"

六、常见报错与避坑

1.-bash: ./first.sh: 权限不够

原因:缺少执行权限 → 解决:chmod +x first.sh

2.脚本路径带中文 / 空格

尽量使用纯英文路径,Linux 对空格、中文兼容性差。

3.Windows 编辑脚本,执行报$'\r': 未找到命令

原因:换行符格式错误 → 修复:dos2unixfirst.sh

4.脚本内cd切换目录不生效

原因:使用了子 Shell 执行(bash/./),属于正常现象;需要全局切换请用source


七、快速命令汇总

bash

运行

# 1. 赋执行权限 chmod +x 脚本名.sh # 2. 常用执行命令 bash 脚本名.sh ./脚本名.sh source 脚本名.sh . 脚本名.sh # 3. 修复Windows换行符 dos2unix 脚本名.sh

八、总结

  1. 脚本首行#!/bin/bash是标准格式,不可省略;
  2. 日常学习、调试优先用bash脚本名,不用纠结权限;
  3. 正式运行脚本推荐chmod +x+./脚本名
  4. 加载配置、环境变量必须使用source执行;
  5. 长时间运行的脚本放到后台执行。
http://www.jsqmd.com/news/931131/

相关文章:

  • MATIEC:将工业自动化语言带入开源世界的编译器
  • Prompt工程实战复盘:从反复改稿到搭建【提示词编写标准化智能体工作流】
  • Sora 2生成长视频崩溃频发?独家披露GPU显存碎片化监控脚本+TensorRT优化配置(实测A100 80G吞吐提升3.2倍)
  • WinUtil:3步快速完成Windows系统优化与软件管理的终极免费方案
  • TV Bro:专为Android电视设计的终极遥控器友好浏览器解决方案
  • 百度网盘秒传链接:5分钟掌握免安装全平台文件秒传技巧
  • 2026年5月国内技术好的猪用输精管直销厂家推荐,养殖设备/牛用输精管/猪用设备/猪用输精管,猪用输精管直销厂家哪个好 - 品牌推荐师
  • AI多角色智能体团队
  • 3分钟解锁Minecraft RTX光影新境界:BetterRTX安装器深度体验
  • 成都角钢公司|角钢厂家|角钢现货推荐|四川盛世钢联国际贸易有限公司库存 - 四川盛世钢联营销中心
  • 基于ESP8266与RS-485的光伏逆变器本地监控系统全栈实践
  • UI-TARS桌面应用技术深度解析:视觉语言模型的GUI自动化革命
  • Sora 2真实用户行为数据首曝:97.3%创作者在12秒内完成首段提示词迭代(附可复用的Prompt热启动模板)
  • 3PEAK思瑞浦 TP5592-VR MSOP8 精密运放
  • LED创意电路制作:从并联原理到钢铁侠发光画实战
  • 从零开始:PPTist免费在线PPT编辑器的完整实战指南
  • 从工具到伙伴:解锁ChatGPT潜力的六大思维转变
  • 猫抓插件终极指南:3个技巧让你轻松下载网页中的任何视频资源
  • 今年北京车展,为什么那么多设计“撞脸”?
  • 如何用STM32快速构建智能温控系统:完整嵌入式开发实战指南
  • 动态目标跨镜无缝接力追踪技术在危化品应急处置轨迹溯源场景中的应用技术白皮书
  • 山东大学软件学院项目实训——计科智伴(六)——前后端接口全面对齐、成就体系与 RAG 兜底
  • 宇树科技IPO深度分析:具身智能第一股今日上会
  • 基于Arduino与超声波传感器的智能避障气垫船设计与实现
  • 我找到的国内直连 GPT 5.5 / Claude Opus 低成本方案
  • 泰伯效应。
  • WindowResizer终极指南:3分钟掌握窗口强制调整技巧
  • 企业级Sora 2虚拟会议背景私有化部署失败率高达67%?20年音视频架构师亲授5层网络拓扑校验法
  • QuickBMS:开源文件提取引擎的终极实战指南
  • 2026最新济南网络推广平台排行:5家靠谱服务商实测对比 - 奔跑123