红联Linux门户
Linux帮助

Shell编程(错在哪)

发布时间:2009-12-16 16:55:45来源:红联作者:yuanqin
#!/bin/bash
dir=${1-`pwd`}
echo "Big file(in blocks) under dirtectory \"$dir\"."
for i in `find -size +2048 -print`
do
if[ -f "${i}" ]
then
ls -s "${i}"
fi
done
exit 0
提示:
Big file(in blocks) under dirtectory "/home/xxxxx".
./bigfile: line 7: 在未预料的“then”附近出现语法错误
./bigfile: line 7: ` then'
文章评论

共有 11 条评论

  1. s_iron 于 2009-12-26 15:54:00发表:

    if ; then ; fi 结构写在同一行才要加;吧
    像楼主这样写没问题,以上请指教

  2. s_iron 于 2009-12-26 15:44:25发表:

    [i=s] 本帖最后由 s_iron 于 2009-12-26 15:46 编辑 [/i]

    好像dir=${1:-`pwd`}吧,少了冒号

  3. coolz 于 2009-12-26 01:03:10发表:

    经验证 " if[ -f "${i}" ] "这句有问题 if 后面加个空格 即"if [ -f "${i}" ]"

  4. menghuan10 于 2009-12-24 13:16:27发表:

    没看懂

  5. mengjie213 于 2009-12-22 21:20:12发表:

    丢失分号是一个习惯!
    顶!!!

  6. wskttg 于 2009-12-20 21:16:54发表:


    回帖是一种美德

  7. sherwinwang 于 2009-12-20 14:37:47发表:


    回帖是一种美德

  8. szlfeng 于 2009-12-16 19:28:44发表:

    路过

  9. panaiec 于 2009-12-16 18:29:21发表:

    打酱油的路过

  10. alick 于 2009-12-16 18:16:50发表:

    同LS

  11. 一米短绳 于 2009-12-16 17:09:30发表:

    兄弟你忘了一个分号“;”
    在if [ ] ; then

    if [ ] ; then ====>中间的分号……

    if