#!/bin/bashWORK_DIR=/oldboycreate(){
    i=1
    while ($i<11)
    do
        cd $WORK_DIR && touch `tr -dc "a-z"</dev/urandom | head -c 10`_oldboy.html
        i=$($i+1)
    done
}
check(){
    if [ - d $WORK_DIR ]; then
        create
    else
        mkdir  $WORK_DIR
        create
    fi
}check[root@bogon temp]# sh create-oldboy-html.sh 
create-oldboy-html.sh: 第 16 行:[: d: 期待二元表达式
mkdir: 无法创建目录"/oldboy": 文件已存在
create-oldboy-html.sh:行7: 11: 没有那个文件或目录
麻烦可以解答并且有时间的朋友帮帮忙哈。

解决方案 »

  1.   


    Hi sun1021873926,in check function: if [ - d $WORK_DIR ]; thenDo u want to be:
     if [ -d $WORK_DIR ]; thenbetween '-' and 'd' don't include any characters (even if  space)
      

  2.   

    hi woshidahuaida:    楼上的解答完成正确,也解决了这个问题。   单独执行以下命令是可以生产特定文件的
       cd /oldboy && touch `tr -dc "a-z"</dev/urandom | head -c 10`_oldboy.html   
    但是放在上述的循环脚本中就会报错
    cd $WORK_DIR && touch `tr -dc "a-z"</dev/urandom | head -c 10`_oldboy.htmlcreate-oldboy-html.sh:行7: 11: 没有那个文件或目录想咨询哈为何会报这个问题?又该如何解决呢?麻烦有经验的朋友解释哈,谢谢啦
      

  3.   

    目测是这两行代码其中一行有问题, /oldboy是绝对路径吗?
    使用sh -x 调试运行脚本,看下哪一行代码有问题。
    cd /oldboy
    cd $WORK_DIR