我在Server 2012 r2上使用Cygwin
我有一个脚本正在根据文件名的一部分(即日期)对文件进行排序。将它们分类到文件夹中
这是脚本。
#!/bin/bash
for f in * ; do
if [[ $f == *_D????00_* ]] ;
then
if ! [[ -e ../2000/$f ]]
echo "../2000/$f EXISTS"
else
echo "Copying $f --> ../2000/$f"
fi
done
我收到此错误:
$ ./sort.sh
./sort.sh: line 8: syntax error near unexpected token `else'
./sort.sh: line 8: ` else'
对Linux bash来说还算是新手,尤其是cygwin。
有想法吗?
-迈克
答案 0 :(得分:1)
您一次正确地完成了then
语句(以fi
结尾)。但是随后您忘记为嵌套的if
IE这样做了
#!/bin/bash
for f in * ; do
if [[ $f == *_D????00_* ]]
then
if ! [[ -e ../2000/$f ]]
then
echo "../2000/$f EXISTS"
else
echo "Copying $f --> ../2000/$f"
fi
fi
done