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

时间:2015-01-05 01:59:31

标签: linux bash

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

例如(在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获取返回值..这可能吗?我正在使用脚本来欺骗程序,使其认为它正在运行中,即使它不是......谢谢!

1 个答案:

答案 0 :(得分:0)

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

-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