获取 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
有没有办法捕获使用脚本 -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