Linux / Shell

命令行解析看清每个参数的边界

分别检查命令词法、PATH 目录顺序或环境键名,输入内容不会被执行。

命令行解析

输入文本

解析条目

输入仅在当前浏览器处理,命令不会被执行。

输入选项

方言:POSIX sh / Bash 共有引用子集。 结果是词法项,不是运行时 argv;不支持展开或 shell 操作符。

最多 65,536 个 UTF-16 单元、512 项;每次展开 50 项。

结果已过期,重新解析后才能导出。

命令行解析适合排查“明明加了引号,文件名却被拆开”的问题。把原始命令中的片段和去掉引用后的值放在一起,可以分清空参数、带空格的参数以及没有闭合的引用,而不必先试着运行命令。

同一页还提供 PATH 列表和环境键清单,但三种输入格式独立。PATH 模式需要变量的原始值,环境模式需要逐行的 NAME=VALUE,不能把完整赋值语句直接当成目录列表。

为什么使用命令行解析?

先确认边界,再决定是否改动原文。

空引号不会悄悄消失

命令行解析保留空引号形成的词法项,将相邻的引用片段连接起来,并显示原始片段与来源行列。遇到未闭合引号时明确报错,不擅自补齐引号或改写成另一条命令。

包含空格的片段整体进入一个词法项,空引号对应的空槽也被保留。

去重不等于重新排序

PATH 去重只移除后出现的非空精确重复项,首项、其他目录的次序及空项保持原样。每次去重或上下移动都先生成预览,确认后才写回输入,还能恢复上一次的输入与结果。

重复目录被移除,剩余目录与空槽保持原有顺序。

导出之前先核对三件事

01

选对输入模式

命令模式使用 POSIX sh 与 Bash 共有的引用子集;PATH 模式直接粘贴变量值;环境模式每行放一个赋值记录。切换模式不会替换输入文本,示例需要另行预览并应用。

  • 选择分号分隔 PATH,不表示支持 Windows 命令行语法。
02

识别位置和空值

解析值用 JSON 字符串形式展示,让空格、空字符串和换行保持可辨认。重复 PATH 项会指向首次出现的位置,重复环境键也不会被覆盖掉。

  • 行列从 1 开始,源偏移按 UTF-16 单元计算。
03

确认预览后再应用

去重、调整顺序、载入示例和清空均先预览。自动解析在停止修改 350 毫秒后更新;关闭自动后,可使用解析按钮或 Ctrl/Cmd+Enter。

  • 输入或设置一变,旧结果的复制与下载立即禁用。

从词法边界查到目录优先级

查看引用前后的片段

命令行参数的边界由引用和分隔共同决定。单引号保留内部字符,双引号保留空格并按 POSIX 规则处理反斜杠。连续的引用与非引用片段可组成同一项;负数 -1 保持原样,不会被猜成某种开关。

逐项检查 PATH 顺序

明确选择冒号或分号后,按原顺序显示每一项、重复位置和空槽。去重保留第一次出现的精确字符串,上下移动则明确影响相邻两项,不暗中进行字母排序。

只列环境变量键

接受 ASCII 键名、可选的 export 前缀、空行和整行注释。重复键仍保留来源行号。等号后面的值不解析,也不进入结果或导出的 JSON,适合核对配置中出现过哪些名字。

列表预览与完整报告

面板每次显示 50 项,可继续展开;导出始终包含全部有效记录及位置、重复标记。解析失败时不会允许用户复制一份看似成功的半成品报告。

实际支持范围与限制

词法项不是程序最终收到的参数
NAME=value 这样的前缀仍作为词法项保留。工具不读取程序参数定义,不解释别名、内建命令或保留字语法。拆分成功只能说明输入符合这里的词法范围。
不执行,也不展开
未引用的操作符与展开字符会被拒绝,双引号中的未转义美元符号和反引号也一样。单引号或正确转义可以让这些符号成为字面量;变量、命令替换、通配和 ANSI-C 引用都不会被求值。
只处理一条逻辑命令
不支持管道、重定向、命令列表和多条裸换行命令。反斜杠加 LF 可续接同一逻辑行,末尾 LF 可接受;命令模式中的 CR 会报错,不静默转换换行格式。
PATH 字符串保持原貌
不裁掉空格,不统一大小写、斜杠,也不检查文件系统。/bin 与 /bin/ 是不同项;冒号列表中的空项代表当前目录,去重时保留。引号、变量引用和完整 PATH= 前缀都不会自动剥离。
环境键查看不等于 ENV 校验
环境值是不透明文本,即使引号未闭合也不会检查。没有 NAME= 的续行会报错。这里只查看键,不编辑值、不展开引用,也不写入系统环境;需要编辑时使用专门的 ENV 工具。
这是工具上限,不是系统上限
最多接受 65,536 个 UTF-16 单元和 512 项。Windows CRT、cmd、PowerShell 命令行、文件上传、命令查找及含输入内容的分享链接均不在支持范围内。

命令行解析常见问题

怎样确认从字符串中拆出来的参数是准确的?

先确认原文属于本工具支持的 POSIX 引用子集,再逐项对照原始片段和解析值。若命令依赖变量、通配或命令替换,单靠字符串无法确定实际参数,工具会拒绝这些语法,不给出假装完成展开的结果。

能根据 pgrep 的输出把需要引用的参数重新包起来吗?

不能可靠地从一条进程展示字符串恢复所有原始参数边界:原来的引号可能已经被 shell 移除。此处需要原始命令文本,不从进程列表猜测边界,也不生成重建命令。

Windows 中用户与系统环境变量到底谁优先?

有效环境取决于进程创建时获得的环境以及 Windows 的合成规则,PATH 还涉及列表组合。此页不读取系统或用户注册表,也不判定两者优先级;请粘贴目标进程实际看到的 PATH,再查看其中的顺序。

版本管理器不断给 PATH 追加重复记录怎么办?

可先粘贴实际 PATH 值,选择对应分隔符,再预览去重结果。工具仅保留首次出现的非空精确项,不会修改版本管理器设置;要避免重复再次出现,还需核对该软件如何更新环境。

去重会打乱原有顺序吗?

不会。剩余项沿用原顺序,空项全部保留,只有用户主动选择上下移动并应用时才调整次序。每次应用之后可撤销一次,同时恢复输入和当时的报告。

还有需要核对的地址或前缀?

回到当前输入继续检查

返回命令行解析,对照片段与来源位置,确认结果仍然有效后再导出报告。

不执行输入,不改写系统环境。