unix tee命令没有按预期工作

时间:2013-12-26 13:43:05

标签: shell unix

当我在unix命令提示符下使用以下命令时,一切正常,log fiel正在创建。

  ls -l|echo "[`date +%F-%H-%M-%S`] SUCCESS - FILES"|tee -a logger2.log

但在shell脚本中使用相同的东西它显示错误

没有此类文件或目录。 我不知道这里有什么问题!!

1 个答案:

答案 0 :(得分:0)

如果我在两行之间阅读:你想要一个文件列表,然后是日期和消息吗?

尝试:

 { ls -l ; echo "[$(date "+%F-%H-%M-%S")] SUCCESS - FILES" ; } |tee -a logger2.log

那应该在当前目录的'logger2.log'中提供行

 .................... file
 .................... file2
 (ie the list of all files and dirs in the current dir, EXCEPT those starting with a ".")
 [2013-12-26-..-..-..] SUCCESS - FILES

请注意,如果您没有在脚本前面放置任何内容,则可以使用与测试时使用的shell不同的shell启动它。这取决于/谁调用脚本:如果它是一个crontab,它可能会被“sh”(或“sh-compatibility”模式中的“bash”)解释...

请告诉我们上面的内容是什么,以及如何启动脚本(由用户,在提示符上?或通过crontab [哪一个:/ etc / crontab?或用户的crontab?哪个用户? ]等等。您看到的错误消息。