Bash "or"声明和"date -I"旗帜



我想做的是在目录中检查某些文件,看看它们是在今天还是昨天创建的。我知道您可以使用查找,这是较大脚本的一部分。

#!/bin/bash
volume="/home/casper/data/vol14/"
dirLimit="casper_limit/"
dirConsu="casper_consumption/"
nowMonth=$(/bin/date +'%b' -d 'now')
preMonth=$(/bin/date +'%b' -d 'last month')
tradeDay=$(/bin/date -I)
previDay=$(/bin/date -I -d 'yesterday')
limtfile="CASPER_LIMIT_01*.journal"

cd $volume$limit
for journal in $limtfile
    do
    modtime=$(/bin/date -I -r  $journal)
    if [[ "$modtime" == "$tradeDay" || "$previDay" ]] ; then
echo "$journal is $modtime"
fi
done

目前"或"语句不起作用,它打印出来的文件。此外,我拿起了日期-I片前,它以这种格式Yyyy-MM-DD打印出来。我在人页面上看不到" -i"旗帜。yyyy.mm.dd有捷径吗?有谁知道这些捷径叫什么,并且是否有这些快捷键定义者的列表,例如" -i"。

您需要使用== 两次;||连接了两个比较,而不是两个右手论证, ==

if [[ "$modtime" == "$tradeDay" || "$modtime" == "$previDay" ]]; then

最新更新