Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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 Node exec`test-e`命令_Node.js_Bash - Fatal编程技术网

Node.js Node exec`test-e`命令

Node.js Node exec`test-e`命令,node.js,bash,Node.js,Bash,当我尝试做smth时,如下所示: exec('test -e package.json && npm install', function (err, stdout, stderr) {...}); 当文件不存在时,我得到一个错误。为什么?如何区分实际执行错误和文件缺失 更新: 从手册页: test实用程序计算表达式,如果计算结果为true,则返回零(true)退出状态;否则返回1(false)。若并没有表达式,test也返回1(false) 这是否意味着纠正错误的行为?是否

当我尝试做smth时,如下所示:

exec('test -e package.json && npm install', function (err, stdout, stderr) {...});

当文件不存在时,我得到一个错误。为什么?如何区分实际执行错误和文件缺失

更新:

从手册页: test实用程序计算表达式,如果计算结果为true,则返回零(true)退出状态;否则返回1(false)。若并没有表达式,test也返回1(false)

这是否意味着纠正错误的行为?是否可以检查文件,然后仅使用bash执行
npm安装

test -e package.json && npm install
package.json
不存在,则
test
将失败,
npm
将不会执行(因为
&&
),整个表达式将被视为失败。(这并不奇怪;如果不是这样,你就不能做像
a&&b&&c
a&&b|c

因此,如果希望整个表达式返回成功,则需要指出:

test -e package.json && npm install || true

当您直接在bash中运行它时会发生什么?如果文件不存在,则不会发生任何错误<代码>npm安装将不执行。请尝试使用绝对路径<代码>文件不存在错误表示文件不存在。很可能您正在另一个目录中工作。所以,是的,试着测试一条绝对路径。另外,
-e
标志可能不是您想要的。。您正在查找
-f
我以前尝试过使用绝对路径-结果相同。也带有
-f
标志。。这意味着只有该文件是常规文件。我可以用它,但效果一样。错误对象是
{“killed”:false,“code”:1,“signal”:null}
感谢您解释这是预期行为以及如何克服此问题:)