Observe que [[
(e [
e test
) são comandos como qualquer outro. Então você precisa de &&
para executar somente o echo
se o [[
for bem-sucedido.
ssh "root@${ipserver}" "[[ -d ${fullpathfile}/node_modules ]] && echo "Directory exist" || cd ${fullpathfile} && npm install "
No entanto, incluir uma série de comandos entre aspas duplas pode ficar muito rápido, especialmente se o nome do diretório contiver espaços ou se seus comandos precisarem de argumentos citados.
Para evitar dores de cabeça, é melhor instalar um pequeno script no servidor (por exemplo, como "$ HOME / bin / do_npm_install.sh") que faz o que você precisa, então invoque isso com ssh, como
ssh "root@${ipserver}" "bash ~/bin/do_npm_install.sh"