当前位置 博文首页 > 一个搬砖的农民工的博客:编写sh脚本语言if语句的时候报错haha.s

    一个搬砖的农民工的博客:编写sh脚本语言if语句的时候报错haha.s

    作者:[db:作者] 时间:2021-07-29 18:41

    今天第一次写sh脚本,遇到一个规则问题纠结了我两个小时。记录一下以防以后出错
    sh脚本如下:

    #!/bin/sh
    #cp文件路径
    path="/home/fdfs-test/files/files"
    
    #循环遍历文件每行内容
    for line in $(cat files.txt)
    do
        a=${line:0:6} #获取前6个字段
        if [ ! -d "$path/$a" ];then #不存在文件目录则创建
            mkdir -p $path/$a
        fi
        cp '/home/fdfs-test/files/data/'$line $path/$a #cp到指定路径
    done
    
    

    报错如下:

    haha.sh:9:[: 缺少 `]'
    

    原因就是[ ! -d "$path/$a"]右边的中括号没有和数据分隔开。
    正确写法是[ ! -d "$path/$a" ]
    我也是醉了,这么个问题纠结了近两个小时。说明linux语言是严格按照使用规范的。所以一定要注意使用规则啊

    cs
    下一篇:没有了