我想知道我们是否可以通过发送邮件来触发 unix 中的 perl 脚本。基本上脚本应该检查收到的邮件然后触发 perl 脚本。
也可以设置一些邮件访问权限,例如在我的 unix home 上阅读和保存邮件。
-谢谢
您可以采取两种基本方法。
前者通常是更好的选择。
你可以像这样破解它:
inotifywait -m /var/mail/$USER | grep --line-buffered MODIFY | while read _unused_; do
#your perl script here
done
说明:它监视 /var/mail/$USER 的更改并在标准输出上打印事件。在每个 MODIFY 事件上,它都会触发脚本。
注意:这仅适用于本地主机上的 unix 邮件。不在外部服务器上。
已知错误:邮件阅读活动也会触发脚本。
您可以继续轮询 (unix) 邮件以获取任何新邮件。
while true; do
echo "\nq" | mail >/tmp/new_mail 2>&1 && /path/to/your/perl_script.pl arg1 arg2 ...
sleep 60
done
如果你愿意,你可以/tmp/new_mail
在你的 perl 程序中使用 的内容。如果您不需要它,您可以将mail
输出重定向到/dev/null
。