我正在尝试编写一个简单的脚本来包装命令,使其与交换的屏幕一起运行。主要目标是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-scripting和https://stackoverflow.com/questions/15656492/linux-shell-try-catch-finally但两人都没有回答这个问题。