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

前端开发中常用的 Shell 脚本命令有哪些?

前端开发中常在 Shell 环境中调用 npm 等工具命令,配合原生 Shell 命令完成自动化任务。Shell 是操作系统提供的命令行解释器,而 npm/yarn 是安装在系统中的 Node.js 工具,二者并非同一概念。掌握 Shell 基础能让你更好地理解项目脚本(package.json 中的 scripts)是如何执行的,以及在 CI/CD 流程中如何编写自动化任务。

先说结论:前端日常开发离不开 npm 或 yarn 等包管理命令,但需明确它们运行在 Shell 环境之上。复杂自动化场景建议编写独立 Shell 脚本,而非仅依赖 package.json。

  • 适合:项目初始化、依赖安装、本地启动与构建打包场景
  • 先看:环境变量 PATH 配置及 Node.js 版本是否匹配
  • 建议:使用 bash -x 调试脚本,严禁在生产环境直接执行 rm -rf 操作

核心概念辨析

Shell 命令分为两类:原生命令(Built-in/OS commands)和外部工具命令(External tools)。

  • 原生命令:如 cdlspwd,由 Shell 直接提供,不依赖 Node.js。
  • 工具命令:如 npmyarngit,是安装在系统中的可执行程序,通过 Shell 调用。

混淆二者会导致环境排查错误,例如 npm 命令找不到通常是 PATH 环境变量问题,而非 Shell 本身故障。

高频原生命令速查

以下命令不依赖 Node.js 环境,适用于任何 Shell 场景:

# 文件与目录操作
ls -la          # 列出所有文件(含隐藏)及详细信息
cd project-dir  # 切换目录
pwd             # 显示当前路径
mkdir -p dist   # 创建目录(-p 确保父目录存在)# 进程管理
ps aux | grep node  # 查看 Node 相关进程
kill -9 <pid>       # 强制终止进程(需谨慎)# 权限与查找
chmod +x script.sh  # 赋予脚本执行权限
find . -name "*.js" # 查找当前目录下所有 js 文件

实战:构建后处理脚本

以下是一个典型的前端构建后处理脚本示例,包含错误处理、备份及清理逻辑。

#!/bin/bash# 遇到错误立即退出,避免错误累积
set -ePROJECT_NAME="my-frontend"
BUILD_DIR="./dist"
BACKUP_DIR="./backup"# 定义颜色输出,便于区分状态
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Colorlog_info() {echo -e "${GREEN}[INFO]${NC} $1"
}log_error() {echo -e "${RED}[ERROR]${NC} $1"
}# 1. 清理旧构建文件
log_info "正在清理旧构建文件..."
# 风险警告:rm -rf 前务必确认变量路径不为空
if [ -z "$BUILD_DIR" ]; thenlog_error "BUILD_DIR 变量为空,终止操作以防误删"exit 1
fi
rm -rf "$BUILD_DIR"# 2. 执行构建
log_info "正在执行构建..."
# 使用 npm start 或 npm run build,视 package.json 配置而定
npm run build# 3. 备份构建产物
log_info "正在备份构建产物..."
mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/${PROJECT_NAME}-$(date +%Y%m%d-%H%M%S).tar.gz" "$BUILD_DIR"log_info "构建与备份完成!"

验证与排查方法

1. 检查脚本执行状态
脚本执行完毕后,通过 echo $? 查看退出码,0 表示成功,非 0 表示失败。

./build.sh
echo $?

2. 检查文件生成
构建完成后,使用 ls -lh dist 查看是否生成了预期文件及大小是否正常。

3. 调试脚本逻辑
若脚本行为异常,使用 bash -x 打印每一行执行细节。

bash -x build.sh

常见风险与规避

1. 危险操作警告
rm -rf 命令会强制删除文件夹及其内容,使用前务必确认路径变量不为空,避免误删生产环境文件。建议在脚本中加入路径非空判断。

2. 空格与语法敏感
Shell 中赋值时等号两边不能有空格(如 VAR=value 正确,VAR = value 错误)。命令之间的空格分隔了不同的参数。

3. 路径问题
脚本中涉及文件路径时建议使用绝对路径或基于脚本所在目录的相对路径,避免因执行目录不同导致文件找不到。

# 获取脚本所在目录
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

4. 变量引用
使用变量时需加上 $ 符号(如 echo $PATH),定义变量时则不需要。引用变量建议加双引号以防路径含空格。

原文链接:https://www.zjcp.cc/ask/11029.html

http://www.jsqmd.com/news/811870/

相关文章:

  • 2026淮安专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月淮安最新深度调研方案) - 防水百科
  • 2026年新疆包车旅游选哪家?人数配置、服务体验与性价比全解析 - 科技焦点
  • 2026湖州专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月湖州最新深度调研方案) - 防水百科
  • 2026.5.13
  • 2026扬州专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月扬州最新深度调研方案) - 防水百科
  • 2026绍兴专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月绍兴最新深度调研方案) - 防水百科
  • 2025-2026年全球储能消防解决方案公司推荐:五家数据中心场景避免灭火残留痛点口碑好的评测注意事项 - 品牌推荐
  • 2026宿迁专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月宿迁最新深度调研方案) - 防水百科
  • 2026年性价比高的新疆包车旅游团:车队配置、服务标准与价格体系全解析 - 科技焦点
  • 2026南通专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月南通最新深度调研方案) - 防水百科
  • 2026丽水专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月丽水最新深度调研方案) - 防水百科
  • 2026嘉兴专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月嘉兴最新深度调研方案) - 防水百科
  • 2026宁波专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月宁波最新深度调研方案) - 防水百科
  • 广州企业破产重组全领域专业律师推荐,蒋阳兵律师团队真实案例可验证 - TOP10品牌推荐榜单
  • Vue 2 升级到 Vue 3 后渲染性能提升明显吗?
  • C++学习(26_05_13)
  • 高端装备首选!广东犸力压力传感器排名替代进口 - 品牌速递
  • 2026扭矩传感器行业品质革新,广东犸力扭矩传感器以专业实力,成为行业推荐之选 - 品牌速递
  • 中国制造实力!广东犸力压力传感器排名替代进口 - 品牌速递
  • 2026年高端港澳台西藏旅游推荐:热门旅行社对比测评 - 科技焦点
  • 2026气压传感器十大品牌揭晓,广东犸力凭稳定性能,跻身行业前列 - 品牌速递
  • 260513 -「再度降临的灾难」
  • STM32理论 —— SD卡、FatFS 文件管理系统
  • LeetCode HOT100 - 不同路径
  • 2026 南京 GEO 优化公司选型:先验自身优化,合规优先,理性定价 - 小艾信息发布
  • 2026微型压力传感器厂家推荐,广东犸力作为靠谱品牌,稳居行业头部行列 - 品牌速递
  • 2026年成都口碑好的家教机构汇总:像川师大家教网这样的老牌平台是怎么做的? - 教育快讯速递
  • RC 滤波截止频率与滤波原理详解
  • 代码的“笔迹学”:你的AI代码助手,藏着独一无二的“指纹”
  • 2026液压传感器哪家好?广东犸力深耕领域多年,品质靠谱值得托付 - 品牌速递