Nested If condition

Hi I have a requirement to create a 2 folder based on there existance

if [ -d "$var_name" ]
then 
cd $var_name
 if [ -d "$var_name3" ]
 then
 cd $var_name3
 mv -fi *.* $var_TargetPath/$var_name/$var_name3
 else 
 mkdir -p "$var_name3"
 chmod 755 "$var_name3"
 mv -fi *.* $var_TargetPath/$var_name/$var_name3
else
mkdir -p "$var_name/$var_name3"
chmod 755 "$var_name/$var_name3"
mv -fi *.* $var_TargetPath/$var_name/$var_name3
fi
fi

Error " syntax error near unexpected token `else'"
But the above script throws an error, Please help

Try indenting your code. Then I think it will be obvious where the problem is.

1 Like

between your 2 "else" you should have a "fi"

if [ -d "$var_name" ]
then
    cd "$var_name"
    if [ -d "$var_name3" ]
    then
        cd "$var_name3"
        mv -fi *.* "$var_TargetPath/$var_name/$var_name3"
    else
        mkdir -p "$var_name3"
        chmod 755 "$var_name3"
        mv -fi *.* "$var_TargetPath/$var_name/$var_name3"
    fi
else
    mkdir -p "$var_name/$var_name3"
    chmod 755 "$var_name/$var_name3"
    mv -fi *.* "$var_TargetPath/$var_name/$var_name3"
fi

Still I face the same problem.

Did you fix your script as per ctsgnb's suggestion ?

Are you saying that ctsgnb's script -

if [ -d "$var_name" ]
then
    cd $var_name
    if [ -d "$var_name3" ]
    then
        cd $var_name3
        mv -fi *.* $var_TargetPath/$var_name/$var_name3
    else
        mkdir -p "$var_name3"
        chmod 755 "$var_name3"
        mv -fi *.* $var_TargetPath/$var_name/$var_name3
    fi
else
    mkdir -p "$var_name/$var_name3"
    chmod 755 "$var_name/$var_name3"
    mv -fi *.* $var_TargetPath/$var_name/$var_name3
fi

ends up with this error ?

Error " syntax error near unexpected token `else'"

tyler_durden

try double quote everything see red update of my previous post

@ctsgnb: there shouldn't be double quotes around the *.*

Did i miss some ? ...OOOOOOPpppppsssssssss O i see !!!

@ Sccruti sorry i was just putting double quote every where such as an auto-censored to avoid Scotty's whip ... ok let's say that it's because i was afraid that DGnitPickett lack some :smiley:

... i am going to fix that.. in just a min

...@Scurti : ok you can refresh now ... LoL