String um comando após um comando que termina em & - EX: nohup log & && rm log

2

Então eu acho que há duas partes nesta questão, porque eu não quero que o RM vá até que o comando nohup termine, mas o problema é que eu adoro agrupar comandos, mas o comando nohup termina em & amp ;! Não sei o que fazer!

Exemplo de comando desejado

nohup sudo rsync -av --progress --remove-source-files /Completed/* /Movies  > transfer.nohup & && rm /Completed/* -R
    
por FreeSoftwareServers 01.10.2015 / 21:27

1 resposta

3

Você pode ter wait para uma resposta.

$ date; nohup sleep 7 & wait && echo xxx; date
Thu Oct  1 19:39:24 UTC 2015
[1] 16199
nohup: ignoring input and appending output to 'nohup.out'
[1]+  Done                    nohup sleep 7
xxx
Thu Oct  1 19:39:31 UTC 2015
$ 

Caso contrário, um wrapper de shell também poderia fazer o truque e não amarraria o shell com wait :

#!/bin/sh
set -e
rsync ...
rm ...

Em seguida, apenas nohup desse script de shell, que fará a cópia e, em seguida, o rm.

    
por 01.10.2015 / 21:44