Coloque um espaço após o seu colchete: if [ sshpass ... . da mesma forma, os colchetes podem exigir mais espaços. Mas normalmente para testar o código de retorno de um comando que você não coloca os parênteses, estes são substituídos pelo comando test sob o capô: if [ 1 -eq 2 ] é na verdade (*) if test 1 -eq 2 . Se também pode ser muito mais simples / mais legível para testar o código de retorno depois:
sshpass -p 'xxxx' ssh [email protected] '[ -d /var/www/html/Dirct1/Backup/11-12-12]'
if [[ $? -eq 0 ]]
then
echo '1'
else
echo '2'
fi
(*) e, na verdade, test é substituído por um bash embutido