我的脚本如下添加时间戳登录bash脚本
if ps ax | grep -v grep | grep ./program > /dev/null
then
exit
else
echo "---------------------------------------------------" >> Debug.log
echo "Starting program at: $(date)" >> Debug.log
./program >> Debug.log 2>&1
fi
exit
通过crontab文件,这个脚本运行的每一分钟。它检查某个程序是否正在运行,如果是,很好,如果没有,启动它。
现在我想每次脚本运行到Debug.log时追加时间戳,如果它发现./程序正在运行。所以下then
行了,我说:
echo "Time: $(date)" >> Debug.log
该命令没有输出任何东西的debug.log。它可以直接从命令行运行。为什么是这样,我能解决这个问题吗?
不能告诉你为什么,但'date +'时间:%C“>> Debug.log'似乎是做你想做的事情,可能更透明和简洁。 – tripleee
另外,'grep thing | grep -v grep'通常可以重构为像'grep [t] hing'这样的想法是使用不匹配自己的正则表达式。 – tripleee
注意你输出到'Debug.log',而你应该指出该文件的完整路径。 – fedorqui