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