问题标签 [return-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
14445 浏览

python - 子进程返回码中的 Python 'return not' 语句

我刚刚在 Python 中遇到了一行非常奇怪的代码:

究竟return not代表什么?我知道 Popen 进程的返回码在它仍在运行时为 None 并且在它完成并成功退出后是一个随机数。但是代码的作者究竟想在这里实现什么?

可能还值得注意的是,同一作者稍后会像这样检查返回码:

0 投票
1 回答
4842 浏览

docker - Docker 从后台命令返回代码

在运行后台任务的 Docker 容器内执行脚本时,我没有得到我期望的返回码。

此示例 docker 文件突出显示了该问题:

/start_script.sh它在容器内创建以下文件:

如此运行docker build -t jakob/test .docker run jakob/test cat /start_script.sh您会期望返回码为 1,因为exit 1. 不是,它是 0 并且不知何故是因为ls / &(如果你删除该命令,你会得到预期的返回码 1)。

所以我的问题是为什么要ls / &覆盖exit 1命令的返回码?我试图exit 1在后台运行,但它不会改变返回码......

当我使用设置来运行 Ruby 规范时,我真的依赖于最后一个命令的返回码,那么我可以做些什么来让 Docker 返回最后一个命令的返回码吗?

谢谢,我希望你能提供帮助,因为我花了很长时间来查明这些“错误”返回码的确切问题。

0 投票
1 回答
8639 浏览

windows - 如何检查 PSFTP 进程是否使用批处理文件返回 0

我正在编写一个批处理脚本,从目录中获取文件并使用 psftp 远程复制它们。

这是发挥所有魔力的那一行:

如您所见,psftp.exe调用并通过 rsa 密钥进行身份验证。推杆发生在 中psftp-rules.txt,活动记录在 中log-file.txt

我需要的是一个检查返回码的函数,如果有任何失败,将错误写入日志文件然后退出。

我正在寻找的可能是为此返回码设置一个变量。然后我想象一个变量等于 1 的 if 语句来结束脚本并将错误消息回显到日志中。

我看到的问题是,一旦运行上面的行,如果不涉及批处理脚本。任何援助将不胜感激。

0 投票
1 回答
369 浏览

batch-file - 批处理脚本错误级别帮助

我在批处理脚本中发生了两个动作。第一个操作需要一个 .exe 文件,该文件使用 .xml 文件来清理文件中的内容。

第二个动作是通过 psftp (putty ftp) 传输清理过的文件。

我需要的是一种分别检查这些操作的错误级别的方法。如果错误级别为 0,我需要继续该过程并将成功消息回显到我选择的文件中。

如果错误级别不是 0,我需要该进程立即结束并退出脚本,并将失败消息回显到我选择的文件中。

0 投票
3 回答
4159 浏览

bash - “set -e”如何与子外壳一起使用?

我想知道是否set -e通过子shell 传播(即子shell 是否继承-e其父级的设置),所以我做了一些实验。我发现了一些我无法解释的奇怪结果。

首先,这里有一些基本的测试。他们返回我所期望的。

现在我尝试了如果我在我的子shell中放置一个子shell会发生什么。此表达式返回 1,这表明它会传播。

然后我尝试了这些表达方式。我希望他们返回 1,但我发现他们返回 0。

为什么?在这两种情况下,无论是否传播,内部子外壳都返回 1 set -e(正如我在开始时检查的那样)。外部子壳有set -e,这意味着它应该在内部子壳退出后失败,但事实并非如此。有人可以解释一下吗?

0 投票
2 回答
1218 浏览

java - Perl 使用 System.exit 从 Java Jar 返回代码

所以我使用 perl 脚本来调用命令,然后获取返回码:

这似乎工作正常。但是,对于我的一项测试,它似乎不起作用。我深入研究了 java 代码,这就是打印的内容。

我没有返回错误代码 99,而是收到了 0 值。我现在尝试了 dkatzel 的编辑并尝试将代码更改为以下内容:

但是,我仍然得到返回值 0。此更改还改变了我的其他测试用例之一,在该测试用例中,我得到了 65280 的返回值......现在它返回为 255。

行。现在我尝试了 Zaid 的编辑并且它有效。这是我的代码的样子(也显示了比我以前更多的代码):

0 投票
1 回答
766 浏览

db2 - DSNUTILB - DB2 系统不存在

嗨,我想问一下我的 JCL 代码有什么问题。我已经为此工作了很长一段时间。当我提交这个时,我得到一个 RC 08,它说 DSNUTILB - DB2 系统在 SYSPRINT 上不存在。谁能帮我解决这个问题?谢谢。:)

这是我的 JCL 代码:

0 投票
0 回答
510 浏览

git - Git合并返回错误代码128

我正在使用以下命令进行空合并:

此命令始终返回错误代码 128。

是预期的还是我错过了什么?我也检查了日志,但没有错误。

提前致谢。

0 投票
1 回答
719 浏览

perl - Perl 如何正确处理系统命令(包括 Timeout with Kill 和捕获 RC/STDERR/STDOUT)

我想从 Perl 脚本执行各种系统命令并处理脚本中的输出。

该脚本将自动运行,所以我想确保没有命令挂起等。

我愿意接受任何形式的反馈。

我对命令执行的要求:

  • 超时 -> 如果命令运行时间超过 XX 秒,它应该终止其进程
  • 如果命令返回信息,它不应该等待超时结束
  • 我想在脚本中捕获退出状态、STDERR、STDOUT。

这是我从另一个 stackoverflow 问题中得出的示例:杀死一个挂起的子进程

目前对我不起作用的是:

  • 无法捕获已执行命令的退出状态
  • 无法捕获已执行命令的 STDERR

代码:

如果您对此代码有技巧或推荐完全不同的解决方案,请告诉我。

谢谢和欢呼



添加:

得到了一个 IPC::Open3 的工作示例,但对于未来的读者,请查看 IPC::Run,其中包含超时功能,正如 James Green 所提到的。

IPC::Open3 的工作示例:

0 投票
1 回答
541 浏览

windows - "EXIT" in batch file cannot overwrite return code of previous commands

Running this batchfile from the Windows commandline results in an %errorlevel% of 5 (i.e. running echo %errorlevel% on the commandline after having executing the batch file prints the number 5):

This is fine.

However, running this batchfile results in an %errorlevel% of 0, no matter what:

I want it to return the error code 5. How can I do that?

Note: If I add sys.exit(13) to the sleep.py (see below), then the second batch file will return with an exit code of 13. So my batch file will return with the exit code of the sleep.py script instead of the exit code specified via the EXIT command (which is strange).


sleep.bat:

sleep.py: