gpt4 book ai didi

javascript - 如何区分nodejs child_process.execSync命令是否错误或结果为空

转载 作者:行者123 更新时间:2023-12-03 02:55:47 26 4
gpt4 key购买 nike

try {
var output = child_process.execSync(cmd);
} catch (ex) {
return 0
}
return output.toString()

所以我想区分 cmd="lx -a"时的情况,这是一个不正确的命令,以及 cmd="ls/home/dir"时的情况,并且/home/dir 是一个空目录,所以它将不会生成任何内容或空字符串。当我尝试时,似乎这两种情况都会被nodejs捕获为异常。

如何区分?我想我可以写这样的代码

if (ex.message.indexOf("not found") >= 0)

但它只涵盖一种情况,即命令本身不正确,如果参数错误怎么办?或者错误消息不包含“未找到”的其他情况?

最佳答案

来自该方法的文档:

If the process times out, or has a non-zero exit code, this method will throw. The Error object will contain the entire result from child_process.execSync().

因此,如果命令不存在,它将抛出错误。否则,它将在输出中返回一个空字符串。在try之前将output设置为undefined,这样您就可以检查它是否出现错误。

关于javascript - 如何区分nodejs child_process.execSync命令是否错误或结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47633959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com