Shell脚本:在shell脚本中运行"exit"命令后执行命令

lat*_*ion 7 unix shell exit command-execution

我有一种情况,我在我的shell脚本中有一个命令,必须在同一个脚本中执行退出命令后执行(我知道!!这听起来很疯狂!)

我想找到类似的解决方案

#!/bin/sh
ls -l ~/.
exit $?
touch ~/abc.txt
Run Code Online (Sandbox Code Playgroud)

这里我希望命令touch ~/abc.txtexit $?运行后执行,命令touch ~/abc.txt可以是任何命令.

约束: 1)我无法修改exit $?上述脚本的一部分.2)该命令必须仅在exit $?命令后执行.

我不确定是否有解决方案,但任何帮助表示赞赏.

Wil*_*ell 10

典型的方法是设置陷阱:

trap 'touch ~/abc.txt' 0
Run Code Online (Sandbox Code Playgroud)

这将在shell退出时调用touch命令.在某些shell(例如bash)中,如果脚本因信号而终止,则也会执行陷阱,但在其他shell(例如)中则dash不会.仅当最后一个命令是,才有可移植方式来调用命令exit.