当我在unix命令提示符下使用以下命令时,一切正常,log fiel正在创建。
ls -l|echo "[`date +%F-%H-%M-%S`] SUCCESS - FILES"|tee -a logger2.log
但在shell脚本中使用相同的东西它显示错误
没有此类文件或目录。 我不知道这里有什么问题!!
答案 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?哪个用户? ]等等。您看到的错误消息。