Como posso dividir um comando em várias linhas no shell, quando o comando faz parte de uma if
instrução?
Isso funciona:
if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1
fi
Isso não funciona:
# does not work:
if ! fab --fabfile=.deploy/fabfile.py \
--forward-agent \
--disable-known-hosts deploy:$target; then
rc=1
fi
Em vez de todo o comando em execução, recebo:
./script.sh: line 73: --forward-agent: command not found
Mais importante, o que está faltando no meu entendimento do Bash que me ajudará a entender esse e outros problemas semelhantes no futuro?
\
? Eles são bem difíceis de ver. Se o fizer, convém verificar se é possível fazer com que seu editor remova os espaços à direita ou os torne mais visíveis.
$ if ! cp -n log/server1.log \ > .; then echo no copy; fi
sem erro, com uma nova linha após\