我可以从 shell 脚本开始处理 XML 吗?

can I start processing XML from shell script?

我用 crontab 启动一个 sh 脚本来创建一个 xml 文件 ("MyXML") "MyApp.exe" 使用来自 "SpecificDirectory":

的配置文件
#!/bin/bash

cd ~/MyDirectory
mono MyApp.exe ./SpecificDirectory

然后还有另一个 cron 选项卡将 MyXML 文件处理到数据库中。

1 7 * * * php /var/www/html/artisan xml:process MyXML >> /var/log/xml-process.log 2>&1

我能否将 artisan xml 进程添加到 shell 脚本中,使其不由 crontab 执行,而是在 exe 完成创建 MyXML 后立即执行?

如果是,那会是什么样子?

有时创建需要更长的时间,即使 xml 尚未完全创建,xml:process 也会开始。

如果相关,我使用 Ubuntu 16.04。

据我了解,您目前 运行 两个来自 cron 的单独计划任务。

一个shell脚本包含一系列命令,除非另有说明,否则它们将按照它们出现的顺序一条一条地执行。

如果您的 php 命令总是在 mono 命令完成后执行,那么只需将它添加到该脚本的底部并删除单独的 cron 条目:

#!/bin/bash

cd ~/MyDirectory
mono MyApp.exe ./SpecificDirectory

# it may be necessary to change directory here
# (but it doesn't look like it, since you're using absolute paths)
php /var/www/html/artisan xml:process MyXML >> /var/log/xml-process.log 2>&1