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

支持类 Unix 语法 ``:Windows 下用 PowerShell 7 优化 npm 和 VS Code

不支持 && ?

在类 Unix 系统中,&& 是常用的命令组合符,表示 前一个命令成功后再执行下一个命令。例如:

echo "第一步成功" && echo "第二步执行"

在 Windows 的默认环境中,cmd 或旧版 PowerShell 对 && 支持有限,可能会遇到脚本兼容性问题。本文教你如何通过 PowerShell 7 完全支持 &&,并让 npm 和 VS Code 使用它,从而获得类 Unix 体验。


一、安装 PowerShell 7

使用 Windows 官方包管理器 winget 快速安装:

winget install --id Microsoft.Powershell --source winget

安装完成后验证版本:

pwsh -v

默认路径:C:\Program Files\PowerShell\7\pwsh.exe

PowerShell 7 完全支持类 Unix 命令组合符 &&


二、让 npm 使用 PowerShell 7

npm 脚本默认使用系统 shell,如果是旧版 PowerShell,可能无法正确识别 &&。通过设置 script-shell 可以永久解决:

npm config set script-shell "C:\\Program Files\\PowerShell\\7\\pwsh.exe"

验证:

npm config get script-shell

测试脚本支持 &&

"scripts": {"test": "echo 第一条 && echo 第二条"
}

运行:

npm run test

如果输出:

第一条
第二条

说明 && 支持正常工作。


三、在 VS Code 中使用 PowerShell 7

为了在终端中直接使用 &&,需要将 VS Code 默认终端改为 PowerShell 7:

  1. 打开 VS Code 设置 (Ctrl + ,)
  2. 搜索 terminal.integrated.profiles.windows
  3. 添加配置:
"terminal.integrated.profiles.windows": {"PowerShell 7": {"path": "C:\\Program Files\\PowerShell\\7\\pwsh.exe"}
},
"terminal.integrated.defaultProfile.windows": "PowerShell 7"

重启 VS Code,打开终端即可直接使用:

echo "第一步" && echo "第二步"

四、总结

通过以上步骤,你在 Windows 下就能:

  • 使用 PowerShell 7 支持类 Unix 的 && 语法
  • 让 npm 脚本支持 &&
  • 在 VS Code 终端直接使用类 Unix 命令组合符

这让 Windows 开发环境更接近 Linux/macOS,提升跨平台脚本兼容性。

http://www.wxhsa.cn/company.asp?id=2195

相关文章:

  • 初赛程序阅读做题要点
  • 模拟堆(手写堆 的五大操作)
  • 【A】杂题悬桨
  • 使用Osquery进行远程取证:NTFS取证扩展实战指南
  • 完整教程:简单介绍一下Clickhouse及其引擎
  • 矩阵分解
  • 11
  • 基于 Gitlab 实现 Go 的 CI/CD
  • 2025.9.11
  • 容斥原理
  • 【B】世良真纯
  • 如何使用jobleap.cn避免简历中的严重错误
  • 在 Zustand 中创建通用 Action 的优雅实践
  • 如何用产品思维优化简历的“用户体验”?
  • 简历如何优化,简历如何投递,面试如何准备?
  • 网络流做题笔记
  • 简历优化全攻略:如何写出吸引HR的简历?
  • 重塑云上 AI 应用“运行时”,函数计算进化之路
  • 25.9.12 C语言基本数据类型
  • Avalonia:基础导航
  • bashrc的一些配置记录
  • H5游戏性能优化系列-----协议相关优化
  • 实现我的第一个langchain应用
  • 小说可视化系统设计(程序员副业项目)
  • MyEMS与开源浪潮:如何重塑全球能源管理的未来格局
  • React Antd or Antd Pro:findDOMNode is deprecated and will be removed in the next major release.
  • 单板挑战4路YOLOv8!米尔瑞芯微RK3576开发板性能实测
  • doms.ul.querySelectorvs document.querySelector:DOM查询的层级关系
  • 穿越钱塘江:一条高铁隧道背后的技术挑战
  • Pwn2Own Automotive 2025 决赛日:49个零日漏洞与88万美元奖金揭晓