我有必须递归执行的 shell 脚本。
Note :-
我不知道执行该脚本需要多少时间,如果我安排 crontab 作业,则会发生冲突。请帮助我解决这个问题。
最佳答案
如果您从 cron 安排它,那么它就不是递归的。如果您希望脚本递归运行,那么答案是不言而喻的:它应该调用自身。只需添加:
exec $0 "$@"
在脚本末尾,并确保在运行期间不更改位置参数。 (如果更改它们,则需要保存它们的原始值,以便可以使用它们调用脚本。)
编辑 - 现在问题已在评论中得到澄清。
如果您希望收到一个数字参数并希望在每次运行时将其增加 10,则执行以下操作:
exec $0 $(expr $1 + 10)
作为脚本的最后一行。但递归地执行此操作似乎有些愚蠢,因为简单地在脚本中执行循环更有意义。
关于linux - 无需 cron 即可递归执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28272244/