当我开发有用的单行程序时,能够运行meteor shell
,将其传递给单行程序并期望它在完成后退出是很方便的。像这样的一些语法,也许?
meteor shell -e 'Meteor.users.remove({})'
这是功能请求,还是已经存在?
补充:我想将这些脚本中的几个添加到package.json
,以便项目中的所有开发人员共享这些脚本。
答案 0 :(得分:8)
这是一个用于编写Meteor shell脚本的Expect程序。您可以运行单独的文件或直接运行命令。用法:
./mshell -f runThisFile.js
./mshell -e 'console.log("foo")'
这是代码(许可证: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"
在Ubuntu上,我运行sudo apt-get install expect
以在运行此程序之前安装Expect。
显然,我们宁愿运行脚本或单行内置meteor shell
,所以我们只考虑这是一个概念验证。