Command line 从Coffee脚本执行命令行命令

Command line 从Coffee脚本执行命令行命令,command-line,coffeescript,Command Line,Coffeescript,是否可以从Coffee脚本执行命令行命令,例如'll'、'pwd'或其他命令 到目前为止,我一直在努力寻找运气不佳的例子 谢谢 如果您通过Node.js执行CoffeeScript,您将拥有对操作系统功能的完全访问权限。使用模块的spawn方法创建新流程: {spawn} = require 'child_process' ls = spawn 'ls', ['array', 'of', 'options'] # receive all output and process ls.stdout.

是否可以从Coffee脚本执行命令行命令,例如'll'、'pwd'或其他命令

到目前为止,我一直在努力寻找运气不佳的例子


谢谢

如果您通过Node.js执行CoffeeScript,您将拥有对操作系统功能的完全访问权限。使用模块的
spawn
方法创建新流程:

{spawn} = require 'child_process'
ls = spawn 'ls', ['array', 'of', 'options']
# receive all output and process
ls.stdout.on 'data', (data) -> console.log data.toString().trim()
# receive error messages and process
ls.stderr.on 'data', (data) -> console.log data.toString().trim()

我不完全确定,但是做
spawn'ls',['array','of','options',stdio:'inherit'
而不是添加其他两行来进行IO重定向,这不一样吗?我不这么认为。在我看来,使用stdio键给出一个散列将把io流重新路由到另一个io流,然后再路由到默认的io流。我一直在使用这个方法,基本上它所做的就是将当前的
进程
流用于新生成的进程。但是,idk如果手动打印标准输出和标准输出有什么不同,谢谢!只需将“.”替换为“.”was:
ls.stderr.on“data”。(数据)->console.log data.toString().trim()
fixed:
ls.stderr.on'data',(数据)->console.log data.toString().trim()