linux - 无需 cron 即可递归执行脚本

标签 linux bash shell

我有必须递归执行的 shell 脚本。

Note :-

我不知道执行该脚本需要多少时间,如果我安排 crontab 作业,则会发生冲突。请帮助我解决这个问题。

最佳答案

如果您从 cron 安排它,那么它就不是递归的。如果您希望脚本递归运行,那么答案是不言而喻的:它应该调用自身。只需添加:

exec $0 "$@"

在脚本末尾,并确保在运行期间不更改位置参数。 (如果更改它们,则需要保存它们的原始值,以便可以使用它们调用脚本。)

编辑 - 现在问题已在评论中得到澄清。

如果您希望收到一个数字参数并希望在每次运行时将其增加 10,则执行以下操作:

exec $0 $(expr $1 + 10)

作为脚本的最后一行。但递归地执行此操作似乎有些愚蠢,因为简单地在脚本中执行循环更有意义。

关于linux - 无需 cron 即可递归执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28272244/

相关文章:

linux - 将变量值插入 : separator 列

python - 使用 python 的 pty 创建一个实时控制台

linux - 如何打印命令的结果以及结果的计数?

linux - 在 shell 脚本中传递 N 个参数

c - c语言fopen隐藏文件

python - 安装 Panda3d 以使用 python 运行

bash - 斯鲁姆 : Shell commands cause following #SBATCH commands to not get parsed

Linux非法日期格式

python - 使用子进程将参数传递给 bash 脚本

linux - 如果在 Linux 中任何其他列中有零,如何将除第一列以外的整行设为零?