下面的脚本将从 cronjob 调用,我希望删除当前时间超过 10 分钟的目录。
我在脚本中遇到以下问题:
\n
从变量的开头而不是结尾修剪(将$oldDirday
下面的变量转储到 hexdump 显示前导\n
- 在当前时间上增加 600 秒
- 让
if
测试正常工作
这就是我所拥有的:
#!/bin/sh
i=1
homeDirData="/home/user"$i"/dirToClean/"
while [ -d $homeDirData ]
do
echo "Checking user"$i""
for oldDir in $(find . -type d)
do
oldDirDay=$(ls -l $oldDir | awk '{print $7}')
oldDirTime=$(ls -l $oldDir | awk '{print $8}' | tr -d ':')
curDay=$(date +%d%t%R | awk '{print $1}')
curTime=$(date +%d%t%R | awk '{print $2}')
if [ $oldDirDay -lt $curDay ] && [ $oldDirTime -lt $(($curTime+600)) ]
then
find $homeDirData -type f -exec shred -f --remove {} \;
rm -rf $homeDirData
else
echo "Nothing to remove"
fi
((i+1))
done
done
错误
- 第 17 行:[:参数过多(
if
语句所在的位置)
问题
- 没有任何内容被删除