我遇到了需要从邮箱中删除的情况(例如/var/邮件/根) 带有具体信息的消息消息ID。
以下代码仅适用于控制台,但我必须在没有从 cron /etc/crontab 运行的用户交互的情况下执行此操作。
文件:/tmp/clear_spam_test
mutt -f /var/mail/root -e "set alias_file=/var/mail/root" -e "set crypt_use_gpgme=no" -e "push <delete-pattern>[email protected]\n<sync-mailbox>qy"
我尝试了很多变化
ssh -tt localhost 'bash -s' < /tmp/clear_spam_test
输出:
mutt -f /var/mail/root -e "set alias_file=/var/mail/root" -e "set crypt_use_gpgme=no" -e "push <delete-pattern\>[email protected]\n\<sync-mailbox\>qy"
echo -e "\nTEST $( whoami ) $0"
exit 0 打开终端时出错:未知。 TEST root bash exit 与本地主机的连接已关闭。
<n>[email protected]\n<sync-mailbox>qy"
ssh -t localhost 'bash -s' < /tmp/clear_spam_test
输出:
伪终端不会被分配,因为 stdin 不是终端。
没有指定收件人。
ssh -T localhost 'bash -s' < /tmp/clear_spam_test
输出:
没有指定收件人。
ssh -tt $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH
输出:
打开终端时出错:未知。
TEST root /tmp/clear_spam_test
logout
与本地主机的连接已关闭。
ssh -t $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH
输出:
伪终端不会被分配,因为 stdin 不是终端。
消息:ttyname 失败:设备的 ioctl 不合适
未指定收件人。
测试根 /tmp/clear_spam_test
ssh -T $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH
输出:
消息:ttyname 失败:设备的 ioctl 不合适
未指定收件人。
测试根 /tmp/clear_spam_test
这些都不起作用。我也尝试过IFS。
答案1
这里同样的问题。这个 mutt 命令似乎依赖于 cron 无法构建的工作终端窗口。至少对我来说,它有助于使用屏幕启动虚拟终端:
screen -d -m mutt -f /var/mail/root -e "set alias_file=/var/mail/root" -e "set crypt_use_gpgme=no" -e "push <delete-pattern>[email protected]\n<sync-mailbox>qy"