shell 判断文件或者路径是否存在

我想要写一个调用脚本的shell,但是在判断文件是否存在这里一直出错。网上找到的判断文件是否存在都是
if [ -d "$path" ];then .....fi
这种格式的。
我的shell代码如下
1 #!/bin/bash
2
3 day=date -d yesterday +%Y%m%d
4
5 path50="/data/FTP/data50/ToPlatForm/"
6 path51="/data/FTP/data51/ToPlatForm/"
7
8 systemPath=("1_SAM/Data/" "2_SAM/Data/" "3_ORD/Data/" "4_SAM/Data/")
9 pyPath="/data/FTP/data50/ToPlatForm/1_SAM/Data/countAll.py"
10
11
12 for system in ${systemPath[@]}
13 do
14 if [ -d "${path50}${syatem}${day}//"];then
15 python $pyPath ${path50}${syatem}${day}/
16 fi
17 done
18
报错如下:
[ftp@kkk data50]$ ./all.sh
./all.sh: line 14: [: missing `]'
./all.sh: line 14: [: missing `]'
./all.sh: line 14: [: missing `]'
./all.sh: line 14: [: missing `]'
请问一下出错在哪儿呢?

阅读 8.9k
2 个回答

]前面少了空格吧

-f 代表文件,-d 代表目录,[]里侧一定要有空格

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题