我正在尝试使用 Linuxdialog
为 Ubuntu 准备简单的安装程序。实际命令是:
dpkg -i package.deb 2>&1 | dialog --programbox "Installing..." 10 100
我想dialog
显示命令产生的任何输出,dpkg
无论是正常输出还是错误消息,因此我将 stderr 重定向到 stdout。这有效。
问题是我需要dpkg
两个命令结束后的命令状态代码。只是为了知道它是否dpkg
完成了它的工作。不幸的是,这些命令结束后,我只能获得dialog
命令的状态代码...
有人知道如何dpkg
从上面的例子中获取命令的状态代码吗?
答案1
您搜索的是管道状态:
dpkg -i ... | dialog ...
echo ${PIPESTATUS[0]} # this contains the exit code of the dpkg command.
参见该示例:
$ false | true | false | true
$ echo ${PIPESTATUS[@]}
1 0 1 0