捕获退出代码和命令输出

x-yuri

我想做:

1.sh

#!/usr/bin/env bash
set -eu
r=0
a=$(./2.sh || r=$?)
echo "$a"
echo "$r"

2.sh

#!/usr/bin/env bash
echo output
exit 2

但是它输出:

$ ./1.sh
output
0   # I'd like to have `2` here

由于$(...)运行一个单独的外壳。那么,如何捕获出口代码和输出呢?

伊曼纽尔

调用另一个进程的进程的退出代码是被调用进程中的一个。

$($($($($(exit 2)))))
echo $?
2

这里有5个呼叫级别。

在您的情况下:

r=0
a=$(./2.sh)
r=$?
echo "$a"
echo "$r"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

捕获退出命令的退出代码

来自分类Dev

在BASH / SHELL中捕获输出和退出代码

来自分类Dev

在if语句中使用mysql命令的输出和退出代码

来自分类Dev

SSH捕获远程ssh命令的退出代码

来自分类Dev

bash shell-ssh远程脚本捕获输出和退出代码?

来自分类Dev

bash shell-ssh远程脚本捕获输出和退出代码?

来自分类Dev

使用命令输出作为退出代码

来自分类Dev

运行一个进程,捕获其输出并退出代码

来自分类Dev

运行一个进程,捕获其输出并退出代码

来自分类Dev

如何在位烘烤配方上捕获命令的退出代码?

来自分类Dev

bash-从远程ssh命令捕获退出代码

来自分类Dev

Make:捕获shell命令的输出并同时返回代码

来自分类Dev

命令|| 运行代码并退出

来自分类Dev

无法捕获命令输出

来自分类Dev

如何使“本地”捕获退出代码?

来自分类Dev

捕获Expect脚本的退出代码

来自分类Dev

如何通过管道输出命令的标准输出,具体取决于退出代码的结果

来自分类Dev

避免在存储命令和功能输出的脚本上捕获输入

来自分类Dev

Bash陷阱命令未能捕获致命的PHP脚本退出代码255

来自分类Dev

如何在Makefile中捕获命令退出代码以供以后使用?

来自分类Dev

重定向命令的退出代码

来自分类Dev

该命令以代码1退出

来自分类Dev

从内置shell命令退出代码

来自分类Dev

如何提取命令的退出代码?

来自分类Dev

SSH命令的退出代码1

来自分类Dev

如果退出代码不为零,则在Bash中隐藏命令输出

来自分类Dev

尽管有输出,但在diff命令上仍退出代码“ 1”

来自分类Dev

如果退出代码不为零,则在Bash中隐藏命令输出

来自分类Dev

捕获多行ssh命令的输出

Related 相关文章

热门标签

归档