Sigo recibiendo un error de fin de archivo. Intenté verificar el código manualmente y probé varios verificadores de bash en línea, ¿alguien puede ayudarme?

Sigo recibiendo un error de fin de archivo. Intenté verificar el código manualmente y probé varios verificadores de bash en línea, ¿alguien puede ayudarme?

Escribí este script bash para implementar una aplicación web automáticamente en mi servidor Tomcat. Sigo recibiendo un error inesperado de fin de archivo, pero el código me parece correcto. También probé varios verificadores de sintaxis de bash en línea y no encontraron ningún problema.

Estoy usando una máquina virtual Ubuntu 20.04 LTS Hyper-V

Aquí está el código bash:

#!/bin/bash
CURRENT_DIRECTORY_PATH="$PWD"
PROPS_PATH=$CURRENT_DIRECTORY_PATH/iiq_auto_deployment.properties
certsIIQ_PATH=$CURRENT_DIRECTORY_PATH/certsIIQ
TOMCAT_PATH=$(grep TOMCAT_PATH "$PROPS_PATH" | cut -d= -f2)
WAR_PATH=$(grep WAR_PATH "$PROPS_PATH" | cut -d= -f2)
SERVICE_PATH=$(grep SERVICE_PATH "$PROPS_PATH" | cut -d= -f2)
BACKUP_PATH=$(grep BACKUP_PATH "$PROPS_PATH" | cut -d= -f2)
BACKUP_IIQ=$(grep BACKUP_IIQ "$PROPS_PATH" | cut -d= -f2)
BACKUP_WAR=$(grep BACKUP_WAR "$PROPS_PATH" | cut -d= -f2)
launchIIQConsole=$(grep launchIIQConsole "$PROPS_PATH" | cut -d= -f2)
date=$(date +%d-%m-%Y)
FILECMD_IMPORT=$CURRENT_DIRECTORY_PATH/import_sp_init_custom.txt
IIQPROPERTIES_FILE=/home/centos/Desktop #a enlever
# Check if the passenc file already exists
if [ ! -f "$certsIIQ_PATH/.passenc" ]
then
    # Read user's username and password
    read -r -s -p "Username: " username
    read -r -s -p "Password: " password

    # Generate private key and public key to encrypt/decrypt password
    mkdir "$certsIIQ_PATH"
    sudo openssl genrsa -out "$certsIIQ_PATH"/passwordPrivKey.pem 2048
    sudo openssl rsa -in "$certsIIQ_PATH"/passwordPrivKey.pem -text -noout
    sudo openssl rsa -in "$certsIIQ_PATH"/passwordPrivKey.pem -pubout -out "$certsIIQ_PATH"/passwordPubKey.pem
    sudo openssl rsa -in "$certsIIQ_PATH"/passwordPubKey.pem -pubin -text -noout
    sudo chmod 400 "$certsIIQ_PATH"/passwordPrivKey.pem


    # Save username and password inside a file and encrypt it
    echo "$password" > "$certsIIQ_PATH"/.pass
    echo "$username" > "$certsIIQ_PATH"/.username
    sudo chmod 400 "$certsIIQ_PATH"/.pass
    sudo openssl rsautl -encrypt -inkey "$certsIIQ_PATH"/passwordPubKey.pem -pubin -in "$certsIIQ_PATH"/.pass -out "$certsIIQ_PATH"/.passenc
    rm -f "$certsIIQ_PATH"/.pass    
fi
if [ ! -d "$BACKUP_PATH" ]
then
    mkdir "$BACKUP_PATH"
fi
if [ ! -d "$BACKUP_IIQ" ]
then
    mkdir "$BACKUP_IIQ"
fi
if [ ! -d "$BACKUP_WAR" ]
then
    mkdir "$BACKUP_WAR"
fi
if [ -d "$TOMCAT_PATH" ]
then
    if [ -f "$WAR_PATH" ]
    then
        if [ -f "$SERVICE_PATH" ]
        then
            sudo systemctl stop tomcat
            echo "Le service Apache Tomcat s'est arrete correctement."
            sleep 1.5
            echo "Sauvagarde du dossier IdentityIQ actuel..."
            sleep 1
            sudo mv "$TOMCAT_PATH"/webapps/identityiq "$BACKUP_IIQ"/identityiq.backup"$date"
            echo "Decompression du fichier WAR..."
            sleep 1.5
            sudo unzip -o "$WAR_PATH" -d "$TOMCAT_PATH"/webapps/identityiq
            echo "Decompression du fichier WAR terminee."
            sudo cp $IIQPROPERTIES_FILE/iiq.properties "$TOMCAT_PATH"/webapps/identityiq/WEB-INF/classes #a enlever
            if [ -f "$TOMCAT_PATH/webapps/identityiq/WEB-INF/lib/mssql-jdbc-10.2.1.jre17.jar" ]
            then
                sudo rm "$TOMCAT_PATH"/webapps/identityiq/WEB-INF/lib/mssql-jdbc-10.2.1.jre17.jar 
            fi
            if [ "$launchIIQConsole" == true ]
            then
                if [ ! -f "$FILECMD_IMPORT" ]
                then
                    echo "Creation du fichier temporaire..."
                    echo "import sp.init-custom.xml">"$FILECMD_IMPORT"
                fi
                username=$(cat "$certsIIQ_PATH"/.username)
                password=$(sudo openssl rsautl -decrypt -inkey"$certsIIQ_PATH"/passwordPrivKey.pem -in "$certsIIQ_PATH"/.passenc)
                sudo chmod +x "$TOMCAT_PATH"/webapps/identityiq/WEB-INF/bin/iiq
                echo "IIQ Console is launched!"
                cd "$TOMCAT_PATH"/webapps/identityiq/WEB-INF/bin/ && ./iiq console -u "$username" -p "$password" < "$FILECMD_IMPORT"
            fi
            sudo systemctl start tomcat
            echo "Le service Apache Tomcat a demarre correctement."
            sudo mv "$WAR_PATH" "$BACKUP_WAR"/identityiq.war"$date"
            if [ -f "$FILECMD_IMPORT" ] 
            then
                rm "$FILECMD_IMPORT" 
            fi
            sudo find "$BACKUP_IIQ" -mtime +1 -exec rm -rf {} \;
            sudo find "$BACKUP_WAR" -mtime +1 -exec rm -rf {} \;
            echo "Old files deleted successfully."
        else
            echo "Le fichier $SERVICE_PATH n'existe pas."
        fi
    else
        echo "Le fichier $WAR_PATH n'existe pas."
    fi
else
    echo "Le repertoire $TOMCAT_PATH n'existe pas."
fi

Si alguien puede ayudar, se lo agradecería mucho. ¡Gracias!

información relacionada