Bash: Error de syntax: inesperado cerca del token 'else'

Muy bien, no entiendo por qué Bash me está arrojando este error. Creé un script que verifica si una unidad está montada en un directory. Si se monta una unidad, realiza algunas tareas de synchronization (e imprime el estado en un logging). Si no está montado, debería enviarme un correo electrónico (correo eliminado del código).

Pero cada vez que ejecuto este código, me arroja un "Error de syntax: token inesperado cerca de 'else'". ¿Por qué está ocurriendo este error de syntax?

Intenté con 1 [en 2 [[con el enunciado f, ejecute el script bajo sudo, pero no con los dados.

Se agregaron comentarios adicionales al código para que pueda ver la lógica;).

#!/bin/bash #Print to log that check is starting printf "Checking if Backup drive is successfully mounted\n" >>/home/fileserver/Applications/Backup/logs/backup.log 2>&1 && # Start check if [[ $(mount | grep -c /home/fileserver/Backup4TB) != 0 ]]; then # If check is successfull, print it to log & start the backup printf "Backup Drive successfully mounted, Backing up Applications folder to USB Backup Drive\n" >>/home/fileserver/Applications/Backup/logs/backup.log 2>&1 && # Backup using rsync rsync --log-file=/home/fileserver/Applications/Backup/logs/rsync.log -avhP --delete /home/fileserver/Applications/ /home/fileserver/Backup4TB/Applications >/dev/null 2>&1 && # Print to log printf "Backing up Books folder to USB Backup Drive\n" >>/home/fileserver/Applications/Backup/logs/backup.log 2>&1 && # Backup using rsync rsync --log-file=/home/fileserver/Applications/Backup/logs/rsync.log -avhP --delete /home/fileserver/Media/Books/ /home/fileserver/Backup4TB/Books >/dev/null 2>&1 && # SYNTAX ERROR IS HERE - If check is unsuccessfull else # Print error to log printf "ERROR - Mount was insuccesfull, sending email as warning\n" >>/home/fileserver/Applications/Backup/logs/backup.log 2>&1 && # Email me /usr/sbin/ssmtp "MYEMAIL" < /home/fileserver/Applications/Backup/mountingerror/mountingerrorBackup.txt fi 

Solutions Collecting From Web of "Bash: Error de syntax: inesperado cerca del token 'else'"

Sí, lo encontré: coloco && después de mi último command justo antes de la statement else:

 ... # Backup using rsync rsync --log-file=/home/fileserver/Applications/Backup/logs/rsync.log -avhP --delete /home/fileserver/Media/Books/ /home/fileserver/Backup4TB/Books >/dev/null 2>&1 && # SYNTAX ERROR IS HERE - If check is unsuccessfull else ... 

Al eliminar el &&, el error desaparece:

 ... # Backup using rsync rsync --log-file=/home/fileserver/Applications/Backup/logs/rsync.log -avhP --delete /home/fileserver/Media/Books/ /home/fileserver/Backup4TB/Books >/dev/null 2>&1 # SYNTAX ERROR IS HERE - If check is unsuccessfull else ...