我可以使用Meteor Shell运行单线程吗?

Dea*_*ffe 4 meteor

当我开发有用的单行程序时,能够运行meteor shell,将其传递给单行程序并期望在完成后它将退出是很方便的.也许这样的语法如此?

meteor shell -e 'Meteor.users.remove({})'
Run Code Online (Sandbox Code Playgroud)

这是功能请求,还是已经存在?

补充:我想添加其中几个脚本,package.json以便项目中的所有开发人员共享它们.

Ada*_*sen 8

这是一个用于编写Meteor shell脚本的Expect程序.您可以运行单独的文件或直接运行命令.用法:

./mshell -f runThisFile.js
./mshell -e 'console.log("foo")'
Run Code Online (Sandbox Code Playgroud)

这是代码(许可证:MIT).保存到文件(mshell或您选择的任何文件)并生成可执行文件:

#!/usr/bin/expect --
set timeout 3
spawn meteor shell
expect "> "
set firstArg [lindex $argv 0]
set secondArg [lindex $argv 1]
if { $firstArg == "-f" } {
  send [exec cat $secondArg]
  send "\n"
} elseif { $firstArg == "-e" } {
  send "$secondArg\n"
}
expect "true"
send "\x04"
expect "Shell exiting...\n"
Run Code Online (Sandbox Code Playgroud)

在Ubuntu上,我运行sudo apt-get install expect以在运行此程序之前安装Expect.

显然,我们宁愿运行脚本或内置单行程序meteor shell,所以让我们只考虑这是一个概念验证.