“type dist/project/{runtime, script, main}.js | 7z > elements.js.gz” 的命令语法不正确

“type dist/project/{runtime, script, main}.js | 7z > elements.js.gz” 的命令语法不正确

尝试学习使用 mac 命令转换为 windows。

我正在尝试在 cmd 中运行命令

'type dist/project/{runtime, script, main}.js | 7z > elements.js.gz'

并没有得到太多详细的错误

命令语法不正确

我已安装7z设置路径为C:\Program Files (x86)\7-Zip

答案1

第一个问题:{a,b,c}Windows 使用的 Cmd shell 中不存在扩展名(注意没有空格)。它只能理解 Unix shell 中常见的几个功能,即|重定向< >,但仅此而已 - 您根本无法在 Cmd 中使用大多数 Bourne/Bash/Zsh 语言功能。

您的选择:

  • 输入三个人的全名。
    类型 dist\a.js dist\b.js dist\c.js
  • 安装 Bash 的 Windows 端口(广泛可用,例如与 Git 捆绑的 msys;Cygwin 是另一种选择)。
  • 学习 PowerShell –完全地与 Bash/Bourne shell 不同,它仍然比 Cmd 强大得多。

第二个问题:type实际上是 Cmd 中的内置命令,很可能会将 / 误解为路径分隔符。虽然 Windows 本身接受它,但许多程序坚持要求您\正常使用。这对于 Cmd 内置命令尤其常见。

原因是 / 是标准选项前缀,例如dir /w


第三个问题:7z与 不一样gzip。它可以处理gzip 压缩文件,但仍然是一个不同的程序,而且——如果我没记错的话——它不支持相同的“管道”操作模式。您只能告诉它将现有文件存档到新文件中,而不是将 stdin 存档到 stdout。

相关内容