每次我使用"at"命令时,都会收到以下消息:
warning: commands will be executed using /bin/sh
它试图警告我什么?更重要的是,如何关闭警告?
对于我们这些不使用bash作为shell的人来说,这是一个很好的警告,因为我们会忘记在运行此代码时,我们日常shell中的一个功能无法使用在约定的时间.
即
username@hostname$ at 23:00 warning: commands will be executed using /bin/sh at> rm **/*.pyc at>job 1 at 2008-10-08 23:00
使用'**'是完全有效的zsh,但不是/ sbin/sh!如果你习惯使用不同的外壳,很容易犯这些错误,你有责任记住做正确的事情.
除了烦人之外,警告是否有任何有害影响?手册页没有提及任何关闭它的方法,所以我认为你不能阻止它在不重建你的源头的情况下被发射.
现在,如果你想不看它,你可以在[时间] 2>/dev/null使用它将其发送到遗忘,但不幸的是,at>提示由于某种原因打印到STDERR(一个bug, IMO - 他们真的应该去STDOUT),所以他们也被这个隐藏了.有可能处理一些shell管道,这将消除警告,而不会吃掉提示,但a)我的尝试(在[时间] 2>&1 | grep -v警告)不起作用,b)甚至如果你能找到一个有效的组合,它将不适合别名(因为时间是在中间而不是在结尾),所以你需要在每次使用它时全部输入它,否则周围写一个包装脚本在处理它.
所以,除非它引起实际问题,否则我会说你最好不要像我们其他人那样忽略警告.