Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用grunt shell插件提示输入_Node.js_Bash_Shell_Gruntjs - Fatal编程技术网

Node.js 使用grunt shell插件提示输入

Node.js 使用grunt shell插件提示输入,node.js,bash,shell,gruntjs,Node.js,Bash,Shell,Gruntjs,我有一个脚本,我正试图使用grunt shell插件与grunt一起运行。此脚本使用read-p“enter foo”栏提示输入。当我运行它时,我得到了一个正确接收我输入的光标,但我没有看到“enterfoo” 我试图修改grunt shell配置以将err、stderr和stdout转储到控制台,但一旦命令完成,它们都将为空。read的手册页中提到了-p标志“仅当输入来自终端时才显示提示”。这似乎是我的问题,因为节点正在调用提示,但read命令正在我的终端中执行,而我正在终端中输入输入,所以为

我有一个脚本,我正试图使用grunt shell插件与grunt一起运行。此脚本使用
read-p“enter foo”栏提示输入。当我运行它时,我得到了一个正确接收我输入的光标,但我没有看到“enterfoo”

我试图修改grunt shell配置以将err、stderr和stdout转储到控制台,但一旦命令完成,它们都将为空。read的手册页中提到了-p标志“仅当输入来自终端时才显示提示”。这似乎是我的问题,因为节点正在调用提示,但read命令正在我的终端中执行,而我正在终端中输入输入,所以为什么不起作用

所以,我的问题是,有没有任何方法可以从grunt shell插件提示用户输入


另外,作为一名副总裁,是的,我知道响应提示符并处理其下的输入是非常容易的,但该死的,这是事情的原理。

我将代码重定向回/dev/tty。
bash-c run.sh“该死,这就是原理”+1:daff经过一些修补,我认为你是对的。。。事实上,该命令实际上是通过节点
子进程运行的,这似乎是罪魁祸首,我猜想
读取
命令的提示实际上不是
stdin
,因此它没有正确地传输到控制台。这里的“原则性”解决方案可能不太走运。。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时对自己的帖子发表评论,一旦您发表评论,您就可以发表评论。同时,请不要使用答案发表评论。