unix bash shell脚本相等比较运算符未进行比较



我有以下bash脚本。它通过查看目录结构

YYYY
+ MM
++ DD
+++ HH

我想跳过第17个小时的目录-但比较运算符

if [  $ARRVAL == "17" ]

不起作用。我该如何进行上述比较?

#!/bin/bash
CURRENTDAY=`date +"%d"`
CURRENTHOUR=`date +"%H"`
#date +"%m-%d-%y"
#$now = "$(date + '%Y%d%m%k%M')";
echo TIME IS: "$CURRENTDAY $CURRENTHOUR"
echo blablaba

for D in `find . -type d`
do

t=$D
a=($(echo "$t" | tr '/' 'n'))
#echo "${a[4]}"
#echo ----------- Directory  $D https://stackoverflow.com/questions/10586153/split-string-into-an-array-in-bash
IFS='/' read -r -a array <<< "$D"
#echo array has_"${#array[@]}"_elements
if [ "${#array[@]}" = "5" ]
then
echo TESTING $D  comparing  ${array[4]} and $CURRENTHOUR
ARRVAL="${#array[4]}"

#if [  "${#array[@]}" == "17" ]
if [  $ARRVAL == "17" ]
then
echo current hour       
fi
fi
# if [ "${#array[@]}" = "5"]
# then
#     echo $D has 5 elements
# fi

完成

我想跳过第17小时中的目录

find . -mindepth 4 -maxdepth 4 -type d '!' -path './*/*/*/17'

应该足够了。

最新更新