macos - 在 Mac 上编写 "batch file"在 Node 上执行 CoffeeScript

标签 macos shell node.js batch-file coffeescript

在 Windows 上,我有以下 .cmd 文件:

.\node_modules\.bin\coffee .\lib\cli --html="index.htm" --whichBuild="configs/whichBuild.xml" %*

即:

  • 我调用.\node_modules\.bin\coffee.cmd
  • 告诉它执行.\lib\cli.coffee
  • 传递参​​数--html="index.htm"--whichBuild="configs/whichBuild.xml"
  • 并且还将用户在命令行上给我的任何参数传递给它。

在 Mac 上,我不知道该怎么做。 node.execoffee.cmd 不会出现。这些事情是如何实现的?

我想要一些简单的东西,我可以告诉我们的构建人员“运行myCommand arg1 arg2,它就会工作。”我在 Windows 上有这个,但在 Mac 上我一无所知。

还值得注意的是:我的 Windows 方法的一个很好的功能是我们的构建人员不必安装 Node 或 npm 或 CoffeeScript 或任何东西。他只是从源代码管理中获取一个目录,其中包含了 node.execoffee.cmd 等内容。 Mac 上也非常需要类似的功能。

最佳答案

您可以确定 OS X 安装了 Ruby 版本,因此这个小 Ruby 脚本应该与您在 OS X 上编写和运行的脚本等效。

#!/usr/bin/env ruby

args = ARGV.join(" ")
system %Q{./node_modules/coffee-script/bin/coffee ./lib/cli --html="index.htm" --whichBuild="configs/whichBuild.xml" #{args}}

因此,将其写入名为 myMacCommand 的文本文件中,然后通过运行 chmod +x myMacCommand 确保该文件可执行,现在从命令行运行脚本应该像 ./myMacCommand --option1=blah --option2=blah

一样简单

编辑:

再仔细考虑一下,上面的脚本可能实际上不起作用,因为 Mac 没有安装 node.js,而我认为这是 CoffeeScript 所需要的。

恕我直言,您的时间可能更好地花在记录如何在本地安装 Node 和 CoffeeScript ,而不是创建一个脚本来解决开发人员未安装它们的问题。

关于macos - 在 Mac 上编写 "batch file"在 Node 上执行 CoffeeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992764/

相关文章:

python-3.x - 如何使用 Homebrew 在我的 Mac 上默认 Python3.8?

如果在 bash 中通过管道传输,则使用子进程和 xclip 的 Python 脚本会挂起

javascript - levelDB 是否仍然损坏数据?

angularjs - Nodejs 和 Restful api 服务

macos - 在 Mac 上安装 DataPusher 后,ckan 网站出现不可逆、可重现的崩溃

macos - 在 OSX 中,我可以使用系统调用将命令传递到新选项卡中正在运行的终端吗?

python - 无法在 OSX 终端和 ncurses 上显示警告标志

linux - Shebang 导致脚本失败

linux - 确保使用正确的 shell 启动 shell 脚本

node.js - 如何在 "real world"时间内每 n 毫秒调用一个函数?