Unix 如何改进以下空间问题编码

Unix 如何改进以下空间问题编码,unix,Unix,当我运行下面的脚本时,它不会返回任何内容。。。将提示符作为输出 #!/bin/sh cd /dla op=`df -k /dla/ |awk '{print $5}' |grep '%' |cut -d '%' -f1` if[ $op -ge 80 ] then echo ' dla is more tha 80% - Purge started' find /dla/ -name '20[0-9][0-9]*' -type d -print |sort |cut -d '/' -f7 |g

当我运行下面的脚本时,它不会返回任何内容。。。将提示符作为输出

#!/bin/sh
cd /dla
op=`df -k  /dla/ |awk '{print $5}' |grep '%' |cut -d '%' -f1`
if[ $op -ge 80 ]
then
echo ' dla is more tha 80% - Purge started'
find /dla/ -name '20[0-9][0-9]*' -type d -print |sort |cut -d '/' -f7 |grep 20 | sort | uniq -c |head -20 > /tmp/file_list.dat 
for i in cat /tmp/file_list.dat |awk '{print $@}'
do
 find /dla -name $i -type d -exec rm -rf [] \;

 newop='df -k /dla/ |awk '{print $5}' |grep '%' |cut -d '%' -f1'
 if [$newop -le 80]
 then 
 echo 'dla is 80% -Purge stopped'
 exit 0
 fi 
 done
 else 
 echo 'dla is less than 80% - No Purge Required'
 fi 

做了一些基本的调试,比如检查每个调用是否返回了什么?我认为这应该是检查一个目录,如果它所在的文件系统太满,则删除内容,但是我不能确定是否有格式,没有注释,没有描述,没有预期的描述,也不知道实际发生了什么,也没有明显的努力去弄清楚。有点像这是我的代码——我不会告诉你任何关于它的事情,但是你能告诉我它有什么问题吗……正如特瓦尔伯格指出的,你的脚本需要更好的缩进,但有一件事我可以指出,作为一个问题,在cat/tmp/file_list.dat|awk'{print$@}中的行中'您缺少命令执行回执或$construct。该行应该如下所示:for i in$cat/tmp/file_list.dat|awk'{print$@}。试试看。