使用 DigitalOcean Droplet 结束 ssh 会话时如何保留退出代码?

How to preserve exit code when ending ssh session with a DigitalOcean droplet?

我有一个 DigitalOcean Droplet mydroplet,我正在使用 DigitalOcean CLI doctl 通过 bash 脚本远程访问它。当 ssh 连接终止时,我需要访问液滴上 运行 的最后一个命令的退出代码,即 $?。但是,DigitalOcean 似乎聚合了所有 ssh 退出代码 >0 到 1。有没有办法可以保留原始退出代码?

例如:

>> doctl compute ssh mydroplet --ssh-command "exit 12"
>> echo $?
1 # how can I make this 12?

我对 doctl 一无所知,但作为解决方法,您可以这样做:

doctl compute ssh mydroplet --ssh-command 'rc=12; echo DOCTL_EXIT=$rc; exit $rc'

您可以解析 doctl 的输出并获得您想要的退出代码。