不要中断 sh 中的脚本(sh 脚本的“try-finally”)

不要中断 sh 中的脚本(sh 脚本的“try-finally”)

我正在尝试编写一个简单的脚本来包装命令,使其与交换的屏幕一起运行。主要目标是top但我希望它是一个通用包装器。

我让它运行良好狂欢但我想让它与短跑或任何其他可用作的简单 shell /bin/sh。问题是,当我使用 Ctrl+C 中断包装的命令时,这也会中断脚本。

狂欢脚本如下所示:

#!/bin/bash
tput smcup
( "$@" )
status=$?
tput rmcup
exit $status

我知道我本可以使用狂欢命令trap,但那会让它更加狂欢-具体来说,这正是我试图避免的。

奇怪的是,busybox 简体中文它也能按预期工作。

那么,有什么办法可以让它与其他任何-type shell 不会在我中断正在执行的命令时被中断,这样该tput rmcup命令就会一直被执行?

注意:我已阅读问题https://stackoverflow.com/questions/6961389/exception-handling-in-shell-scriptinghttps://stackoverflow.com/questions/15656492/linux-shell-try-catch-finally但两人都没有回答这个问题。

相关内容