PowerShell profile.ps1 报错“缺少终止字符” 解决方案在自定义 PowerShell 终端配置 profile.ps1 文件时遇到了“字符串缺少终止符: ”的报错排查后找到核心原因及解决方案整理成笔记供遇到同样问题的朋友参考。一、问题场景如何遇到问题这天我发现pycharm里面的终端不能像往常一样正常激活conda的虚拟环境了解决过程中我想顺便通过 profile.ps1 自定义终端包括添加中文欢迎语、彩色提示符含图标、配置 Conda 自动激活来自定义终端。报错情况编写配置代码后重启 PowerShell/PyCharm 终端弹出报错 …… n ~ 字符串缺少终止符: 反复检查引号确认所有引号均闭合但报错依旧。排查过程逐行删除代码测试最终发现——只要代码中「双引号 后直接紧跟非英文字符」中文、特殊图标如 、✨就会触发报错若在引号和非英文字符之间加一个空格报错消失。二、解决方法及原因1. 解决方法简单有效遵循一个规则双引号 后面不要直接写中文、特殊图标等非英文字符中间必须加一个空格。错误写法触发报错Write-Host ✨自定义配置加载成功 function Prompt { return }正确写法无报错Write-Host ✨ 自定义配置加载成功 function Prompt { return }2. 报错原因这是 PowerShell 中文环境下的经典解析 Bug当双引号 后直接粘连非英文字符中文、特殊符号、图标时PowerShell 会错误解析字符粘连误认为字符串未闭合从而抛出“缺少终止符”的报错。添加空格后能让 PowerShell 清晰区分“字符串结束”和“后续非英文字符”解析正常报错自然消失。补充保存 profile.ps1 文件时需将编码设置为 UTF-8记事本“另存为”底部选择 UTF-8避免中文乱码或隐藏报错。Win11还是建议用GBK或其他GB类的编码保存因为终端还是用的这类编码UTF-8保存的话中文还是会乱码除非再去系统的设置里面改详情搜索更改系统默认编码三、配置文件及其位置profile.ps1是PowerShell 的专属配置文件一般在目录”C:\Users\你的用户名\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1“下可以通过命令行输入以下内容来定位$PROFILE或者通过以下命令直接打开# 通过记事本打开 notepad $PROFILE # 通过VS Code打开 code $PROFILE