标签: exit-code

在Node.js中执行bash命令并获取退出代码

我可以在node.js中运行bash命令,如下所示:

var sys = require('sys')
var exec = require('child_process').exec;

function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("ls -la", function(err, stdout, stderr) {
  console.log(stdout);
});
Run Code Online (Sandbox Code Playgroud)

如何获取该命令的退出代码(ls -la在此示例中)?我试过跑步

exec("ls -la", function(err, stdout, stderr) {
  exec("echo $?", function(err, stdout, stderr) {
    console.log(stdout);
  });
});
Run Code Online (Sandbox Code Playgroud)

不管以前命令的退出代码如何,这总是返回0.我错过了什么?

bash exit-code node.js

35
推荐指数
3
解决办法
5万
查看次数

检查进程是否使用批处理文件返回0

我想用批处理文件启动一个进程,如果它返回非零,则执行其他操作.我需要正确的语法.

像这样的东西:

::x.bat

@set RetCode=My.exe
@if %retcode% is nonzero
   handleError.exe
Run Code Online (Sandbox Code Playgroud)

作为奖励,您可以考虑回答以下问题,请:)

  • 如何用复合语句写if
  • 如果应用程序My.exe无法启动因为某些DLL丢失,我的工作是否正常?如果没有,我怎么能检测到My.exe无法启动?

windows process batch-file exit-code

34
推荐指数
3
解决办法
10万
查看次数

在Java中的程序退出上运行代码

是否可以编写System.exit在终止程序时将调用的方法?

java exit-code system.exit

33
推荐指数
2
解决办法
3万
查看次数

ExitCodes大于255,可能吗?

如果是,在哪个操作系统,shell或其他什么?

考虑下面的java程序(我只是以java为例,任何语言对这个问题都有好处,更多的是关于操作系统):

public class ExitCode {
    public static void main(String args[]) {
        System.exit(Integer.parseInt(args[0]));
    }
}
Run Code Online (Sandbox Code Playgroud)

在Linux和bash上运行它,它总是返回不等于255的值,例如(echo $?打印上一个执行命令的退出代码)

> java ExitCode 2; echo $?
2

> java ExitCode 128; echo $?
128

> java ExitCode 255; echo $?
255

> java ExitCode 256; echo $?
0

> java ExitCode 65536; echo $?
0
Run Code Online (Sandbox Code Playgroud)

编辑:下面的(只有,到目前为止)答案完全解释了在UNIX上发生的事情.我仍然想知道其他操作系统.

shell operating-system exit-code

32
推荐指数
2
解决办法
1万
查看次数

如何退出C++程序?

我如何退出C++程序.调用哪个函数来结束程序以及该方法采用哪些值?

为了澄清我想从我的代码中退出C++程序.我可能想要退出该程序main功能之外的程序.

c++ exit-code

31
推荐指数
0
解决办法
13万
查看次数

引发异常时在Python中设置退出代码

$ cat e.py
raise Exception
$ python e.py
Traceback (most recent call last):
  File "e.py", line 1, in <module>
    raise Exception
Exception
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

我想将此退出代码从1更改为3,同时仍然转储完整的堆栈跟踪.最好的方法是什么?

python exception exit-code

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

如何捕获使用Powershell的Invoke-Command调用的ScriptBlock的返回值

我的问题与问题非常相似,除了我试图使用Invoke-Command捕获ScriptBlock的返回代码(因此我不能使用-FilePath选项).这是我的代码:

Invoke-Command -computername $server {\\fileserver\script.cmd $args} -ArgumentList $args
exit $LASTEXITCODE
Run Code Online (Sandbox Code Playgroud)

问题是Invoke-Command没有捕获script.cmd的返回码,所以我无法知道它是否失败.我需要知道script.cmd是否失败.

我也尝试使用New-PSSession(这让我看到了远程服务器上的script.cmd的返回代码)但是我找不到任何方法将它传递回我的调用Powershell脚本来实际处理有关失败的任何事情.

powershell return-value exit-code windows-scripting invoke-command

29
推荐指数
2
解决办法
4万
查看次数

在bash中,如何设置返回码?

我想设置一次返回值,使其进入while循环:

#!/bin/bash
while [ $? -eq 1 ]
do
#do something until it returns 0    
done
Run Code Online (Sandbox Code Playgroud)

为了使这个工作,我需要$? = 1在开始时设置,但这不起作用.

error-handling bash return-value exit-code

29
推荐指数
6
解决办法
5万
查看次数

如何在Go中测试os.exit场景

鉴于此代码

func doomed() {
  os.Exit(1)
}
Run Code Online (Sandbox Code Playgroud)

如何正确测试调用此函数将导致存在使用go test?这需要在一组测试中发生,换句话说,os.Exit()调用不会影响其他测试并且应该被捕获.

testing exit-code go

29
推荐指数
4
解决办法
1万
查看次数

Bash:以grep命令的相反状态退出一行?

如何减少以下bash脚本?

grep -P "STATUS: (?!Perfect)" recess.txt && exit 1
exit 0
Run Code Online (Sandbox Code Playgroud)

看起来我应该可以用一个命令来完成它,但我这里总共有3个.

我的程序应该:

  • 阅读recess.txt
  • 退出1(或非零)如果它包含"STATUS:"NOT"Perfect"的行
  • 如果不存在这样的行,则退出0(即所有"STATUS:"行都是"完美")

答案奖授予最严格的剧本.谢谢!

示例文件

计划应该有退出状态0此文件:

FILE: styles.css 
STATUS: Perfect!

FILE: contour-styles.css
STATUS: Perfect!
Run Code Online (Sandbox Code Playgroud)

程序应该具有此文件的退出状态1(或非零):

FILE: styles.css 
STATUS: Perfect!

FILE: contour-styles.css
STATUS: Busted 
FAILURES: 1 failure

Id's should not be styled
       1. #asdf
Run Code Online (Sandbox Code Playgroud)

regex bash grep exit-code exit

28
推荐指数
6
解决办法
1万
查看次数