İ;Bash中的f-elif-else语句

İ;Bash中的f-elif-else语句,bash,shell,if-statement,Bash,Shell,If Statement,我试图在for循环中使用if-elif-else语句控制我的文件是否存在于目录中。但在if和elif中,命令行给了我这个错误:没有命令 以下是代码示例: #! /bin/bash controlfile="String" firstfile="String" lastfile="String" nsolve=false for i in $(ls $file1| grep /*.png) do firstfile=${i:0:21} #satır 10 if ["$firstfi

我试图在for循环中使用if-elif-else语句控制我的文件是否存在于目录中。但在if和elif中,命令行给了我这个错误:没有命令

以下是代码示例:

#! /bin/bash
controlfile="String"
firstfile="String"
lastfile="String"
nsolve=false
for i in $(ls $file1| grep /*.png)
do
    firstfile=${i:0:21} #satır 10
    if ["$firstfile"!="$file2"]; then  #ERROR LINE
                #something doing...
                nsolve=false
        for j in $(ls $file2| grep /*.jpeg)
        do
            if [${j:0:31}==${controlfile:0:31}]; then #.if already jpeg file exist like png
                nsolve=true
                continue 
            else 
                nsolve=false        
            fi
        done
    elif [$nsolve==true]  #ERROR LINE
    then
        #something doing...
        continue    
    fi
    lastfile=${i:0:21}
done
printf "%s\n" "Successfully"

您缺少
[
]

周围的空格。在询问此问题之前,请使用此空格修复代码中更明显的问题。