samedi 16 juillet 2016

Bash scripting: syntax error near unexpected token `done'

I am new to bash scripting and I have to create this script that takes 3 directories as arguments and copies in the third one all the files in the first one that are NOT in the second one.

I did it like this:

#!/bin/bash

if [ -d $1 && -d $2 && -d $3 ]; then
    for FILE in [ ls $1 ]; do
        if ! [ find $2 -name $FILE ]; then
            cp $FILE $3
    done
else echo "Error: one or more directories are not present"
fi

The error I get when I try to execute it is: "line 7: syntax error near unexpected token `done' " I don't really know how to make it work! Also even if I'm using #!/bin/bash I still have to explicitly call bash when trying to execute, otherwise it says that executing is not permitted, anybody knows why? Thanks in advance :)

Aucun commentaire:

Enregistrer un commentaire