【发布时间】:2017-10-29 22:07:11
【问题描述】:
我正在尝试编写一个脚本 (ksh),它将检查时间是否正确(+/- 5 分钟)
echo "$(cat /home/chojtom/Tomek/Log.txt | sed -e 's:\([0-9][0-9][0-9][0-9]\)\([-]\)\([0-9][0-9]\)\([-]\)\([0-9][0-9]\)\([[:space:]]\)\(.*\):\7:g')" | sed -e "s:[:]::g" > "/home/chojtom//Time.csv"
这是格式可变的时间:HHMMSS
if [ $(Time) -ge date "+%H%M%S" -d "5 min ago" ]; then
echo "Wrong hour"
else
echo "Date Correct"
但在这一步我收到消息
./test.sh[45]: Time: not found [No such file or directory]
./test.sh[45]: [: date: unknown operator
DATE CORRECT
文件 Time.csv 位于 HHMMSS 行。
想不通,IF 中的日期运算符有什么问题。 可以请人帮忙吗?
更新 我注意到了这个命令
Year="/home/chojtom/year.csv"
$(cat /home/chojtom/Tomek/Log.txt | sed -e 's:\([0-9][0-9][0-9][0-9]\)\([-]\)\([0-9][0-9]\)\([-]\)\([0-9][0-9]\)\(.*\):\1:g')" > $Year
不将输出保存到文件中
【问题讨论】:
-
好的,应该是$Time,shell现在看到文件了,但是还是- date:unknow operator错误弹出