Eu tenho um colega que está se conectando a um host remoto por meio de uma ferramenta de linha de comando / php que o Drupal do CMS usa chamado drush.
O Drush se conecta ao host remoto através do ssh, mas quando emitimos comandos, estamos recebendo um erro quando o bash tenta analisar um determinado arquivo. No entanto, ele não informa qual arquivo tem o erro de sintaxe.
Begin redispatch via drush_invoke_process(). [2.01 sec, 6.87 MB] [notice]
Backend invoke: ssh -p 2222 -o "AddressFamily inet" [command]
[email protected]
'drush --debug --verbose --uri=myremotehost.com
--db-url='\''mysql://host:myremotehost.com:11297/database'\''
cache-rebuild 2>&1' 2>&1 [2.01 sec, 6.88 MB]
Calling proc_open(ssh -p 2222 -o "AddressFamily inet" [email protected] 'drush --debug --verbose --uri=mysite.com --db-url='\''mysql://host:myremotehost.com:11297/database'\'' cache-rebuild 2>&1' 2>&1);
/bin/sh: -c: line 0: unexpected EOF while looking for matching '''
/bin/sh: -c: line 1: syntax error: unexpected end of file
End redispatch via drush_invoke_process(). [5.36 sec, 6.88 MB] [notice]
O shell é iniciado normalmente e podemos executar comandos típicos do utilitário GNU, portanto, não parece que o .bashrc
ou outros arquivos pontuais tenham o erro.
Como medida de solução de problemas, re-instalamos o comando drush (uma combinação de scripts shell e php). Podemos executar vários comandos com ele, exceto este, que se conecta a um host remoto.
Como podemos começar a rastrear onde o erro está ocorrendo?
Estamos usando o git-bash GNU bash, version 4.4.12(1)-release (x86_64-pc-msys)
no Windows 7.
Editar
Na saída que colei acima, havia alguns comutadores de verbosidade e depuração usados para obter mais informações.
Acabei de baixar novamente o nosso arquivo drush e executei novamente o comando sem os comutadores, e é isso que obtemos
$ drush @mysite status
/bin/sh: -c: line 0: unexpected EOF while looking for matching '''
/bin/sh: -c: line 1: syntax error: unexpected end of file