(Debian Squeeze)
我正在研究一个将输出传递给邮件命令的shell脚本。 我一定犯了错误,因为我不能再使用这个命令。 即使我input“mail”没有任何参数,它只是吐出看起来是我以前尝试电子邮件的内容,但它只是返回到一个提示。 无论使用哪个参数,都会发生相同的输出。
我们不使用本地邮件存储,并删除了/ var / mail和/ var / spool / mail中的所有用户文件(其中一个是另一个的链接),但是对于我来说,我无法弄清楚如何使用这个命令回来。
我正在努力寻找这个问题,因为search条件似乎太模糊了。
我怀疑在某个时候你不小心做了这样的事情:
....command... > /usr/bin/mail
代替
....command... | /usr/bin/mail
因此用一些数据的副本replace/usr/bin/mail 。
我build议你重新安装邮件程序。 由于Debian提供了多种select,所以您可以find您安装的那个:
root@www:~# ls -l /usr/bin/mail lrwxrwxrwx 1 root root 22 2011-04-04 02:48 /usr/bin/mail -> /etc/alternatives/mail root@www:~# ls -l /etc/alternatives/mail lrwxrwxrwx 1 root root 18 2011-04-04 02:48 /etc/alternatives/mail -> /usr/bin/bsd-mailx
所以邮件程序在这个系统上是/usr/bin/bsd-mailx 。 让我们来看看它来自哪个包:
root@www:~# apt-file search /usr/bin/bsd-mailx bsd-mailx: /usr/bin/bsd-mailx
最后我们将重新安装该软件包。
root@www:~# apt-get install --reinstall bsd-mailx Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded. Need to get 155kB of archives. After this operation, 0B of additional disk space will be used. Do you want to continue [Y/n]?