Como evitar 'redirecionamento ambíguo' ao executar o comando por ssh

1

Estou tentando executar um script em um servidor remoto via ssh.

o comando deve ir para o segundo plano e continuar a ser executado após o logout. O resultado do comando deve ser redirecionado para out.log no site remoto.

o processo ssh deve sair sem esperar pelo comando

O shell remoto é csh

Eu tentei várias versões (citando, chaves ...) da seguinte linha

ssh target.host "nohup csh longrunning.sh > out.log 2>&1 &; exit"

Ou minhas tentativas não fazem nada no site remoto ou recebo redirecionamento ambíguo, devido aos múltiplos e comerciais.

O site remoto é um sistema mínimo do FreeBSD, sem ferramentas como screen installed

    
por murphy 22.04.2018 / 21:39

1 resposta

3

Você não está apenas procurando por

ssh target.host "nohup csh longrunning.sh >& out.log &; exit"

Parece ser a sintaxe correta do csh para o que você está tentando alcançar.

A sintaxe que você está usando é incompatível com o csh, já que sua sintaxe não é compatível com o Bourne shell.

    
por 22.04.2018 / 23:27