【问题标题】:Running cat inside a node script tag?在节点脚本标签内运行 cat ?
【发布时间】:2020-04-12 04:03:57
【问题描述】:

This tutorial at this point in time 在节点脚本标签内运行 cat,如下所示:

cat dist/fs-gist/{runtime-es5,polyfills-es5,main-es5}.js > fs-gist.js

如果我直接在 Ubuntu 的命令行上运行它就可以了。

但是,如果我从这个脚本npm run c

  "scripts": {
    "c":"cat dist/fs-gist/{runtime-es5,polyfills-es5,main-es5}.js > fs-gist.js",

  },

,发生这种情况:

ole@mkt:~/Temp/fs-gist$ npm run c

> fs-gist@0.0.0 c /home/ole/Temp/fs-gist
> cat dist/fs-gist/{runtime-es5,polyfills-es5,main-es5}.js > fs-gist.js

cat: dist/fs-gist/{runtime-es5,polyfills-es5,main-es5}.js: No such file or directory

有什么想法吗?

【问题讨论】:

  • 您是否检查了直接从终端运行命令的路径?也许它与 npm 脚本执行的路径不同,从而给你文件未找到错误
  • @RamarajaRamanujan 是的,我与 package.json 在同一个项目目录中。
  • 它对我有用。请检查运行 npm 脚本时是否创建了 dist 文件夹。此外,检查所有这些命令是否从终端产生结果:cat dist/fs-gist/runtime-es5.js、cat dist/fs-gist/polyfills-es5.js。猫 dist/fs-gist/main-es5.js。这只是为了确保所有文件都存在。
  • 您能找出问题所在吗?
  • 没有。我做了你提到的所有检查,当我从命令行运行命令时它可以工作,但是它在脚本中不起作用。我什至添加了pwd 来检查脚本是否从正确的目录运行。它仍然给出这个错误:cat: dist/fs-gist/{runtime-es5,polyfills-es5,main-es5}.js: No such file or directory 看起来它不理解命令的大括号部分...

标签: javascript node.js shell ubuntu cat


【解决方案1】:

我认为问题是操作系统的怪癖。我在我的 Mac 上进行了测试,它可以工作。 如果你的目标是一台 Linux 机器,我假设你已经提到你使用的是 Ubuntu,你可以试试这个,

"scripts": {
        "c": "bash -c 'cat dist/fs-gist/{runtime-es5,polyfills-es5,main-es5}.js > fs-gist.js'"
    }

这应该可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2017-07-25
    • 2013-05-06
    • 2022-01-21
    • 1970-01-01
    • 2020-08-31
    相关资源
    最近更新 更多