当前位置:  开发笔记 > 编程语言 > 正文

为什么"at"命令总是警告我命令将通过sh执行?

如何解决《为什么"at"命令总是警告我命令将通过sh执行?》经验,为你挑选了2个好方法。

每次我使用"at"命令时,都会收到以下消息:

warning: commands will be executed using /bin/sh

它试图警告我什么?更重要的是,如何关闭警告?



1> Jerub..:

对于我们这些不使用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> Dave Sherohm..:

除了烦人之外,警告是否有任何有害影响?手册页没有提及任何关闭它的方法,所以我认为你不能阻止它在不重建你源头的情况下被发射.

现在,如果你想不看它,你可以在[时间] 2>/dev/null使用它将其发送到遗忘,但不幸的是,at>提示由于某种原因打印到STDERR(一个bug, IMO - 他们真的应该去STDOUT),所以他们也被这个隐藏了.有可能处理一些shell管道,这将消除警告,而不会吃掉提示,但a)我的尝试(在[时间] 2>&1 | grep -v警告)不起作用,b)甚至如果你能找到一个有效的组合,它将不适合别名(因为时间是在中间而不是在结尾),所以你需要在每次使用它时全部输入它,否则周围写一个包装脚本处理它.

所以,除非它引起实际问题,否则我会说你最好不要像我们其他人那样忽略警告.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有