获取 return 使用脚本 -c 运行的命令的值

get return value of command run with script -c

有没有办法捕获使用脚本 -c 运行的程序的 return 值?

例如(在 bash 中)

/bin/false; echo $? # outputs 1

/usr/bin/script -c "/bin/false" /dev/null; echo $? 
# outputs 0 as script exited successfully.

我需要从 /bin/false 而不是 /usr/bin/script 获取 return 值。这可能吗?我正在使用脚本来诱使程序认为它正在真正的 tty 中运行,即使它不是...谢谢!

根据man script,使用-e选项将return子进程的退出代码。

-e, --return
       Return the exit code of the child process.
       Uses the same format as bash termination 
       on signal termination exit code is 128+n.

这里有一些例子。

  $ /usr/bin/script -e -c "/bin/false" /dev/null; echo $?
  1
  $ /usr/bin/script -e -c "/bin/true" /dev/null; echo $?
  0
  $ /usr/bin/script -e -c "exit 123" /dev/null; echo $?
  123