小编epi*_*ian的帖子

如何将文本发送到命令然后从终端读取

我想知道是否可以将一些发送到命令的标准输入,然后继续从终端读取。

我试图解决的问题是每次打开 Node.js REPL 时都执行一些初始化代码,所以我从一开始就在 REPL 中有一些可用的函数。基本上,要自动执行此操作:

$ node
> require('./myutils')
> ... continue using the REPL
Run Code Online (Sandbox Code Playgroud)

我现在可以使用这里的字符串向命令的标准输入发送一些文本:

$ node <<<"require('./myutils')"
Run Code Online (Sandbox Code Playgroud)

这将执行我的初始化代码,但也会在此之后立即关闭 REPL。

对于 Node.js 的这个特定问题,也许还有另一种解决方案,但我想知道是否有一种通用的方法来混合来自字符串或文件的输入,然后继续从终端读取。

更新Chris Down 的解决方案有效,但默认情况下 Node.js REPL 不会以交互模式运行(这是预期的,因为我们不是从终端读取)。幸运的是,有一个-i选项可以在 Node.js 终端中强制交互模式:

{ echo "require('./myutils')" ; cat ; } | node -i
Run Code Online (Sandbox Code Playgroud)

bash shell-script node.js

3
推荐指数
1
解决办法
1790
查看次数

标签 统计

bash ×1

node.js ×1

shell-script ×1