我正在尝试比较两个日期。系统日期与文件日期。我遇到麻烦了,我得到的错误是:
./ hello.sh:第25行:[10-18-2018:未找到命令
我也尝试过用=,==,-eq。
#Setting variable
now=$(date +"%m-%d-%Y")
#Testing variable
echo "Current System Date: $now"
#Setting variable
filedate=$(date -r hello.sh "+%m-%d-%Y")
#Testing variable
echo "hello.sh date: $filedate"
if [$now -ge $filedate]
then
echo This statement works
else
echo This statement didnt work
fi
答案 0 :(得分:0)
只需进行一些简单的语法修改:
#!/bin/bash
#Setting variable
now=$(date +"%m-%d-%Y")
#Testing variable
echo "Current System Date: $now"
#Setting variable
filedate=$(date -r hello.sh "+%m-%d-%Y")
#Testing variable
echo "hello.sh date: $filedate"
if [ $now == $filedate ]
then
echo "This statement works"
else
echo "This statement didnt work"
fi
if
中,您必须在[
之后和]
之前放置空格-ge
不起作用。 “-”比较适用于数字。在这里您要使用==
来比较文本。"
。这将适用于日期相同的情况。如果需要“大于”或“小于”,则将日期以时间戳格式(+%s)进行比较。然后,您可以使用-ge
或其他相同类型的东西。