在以 & 结尾的命令后面串接一个命令 - EX: nohup > log & && rm log

在以 & 结尾的命令后面串接一个命令 - EX: nohup > log & && rm log

所以我想这个问题实际上有两个部分,因为我不希望 RM 在 nohup 命令完成之前运行,但问题是,我喜欢将命令串在一起,但我的 nohup 命令以 & 结尾!不知道该怎么办!

所需命令示例

nohup sudo rsync -av --progress --remove-source-files /Completed/* /Movies  > transfer.nohup & && rm /Completed/* -R

答案1

你可能必须要wait得到答案。

$ 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
$ 

否则,外壳包装器也可以做到这一点,并且不会将外壳与wait

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

然后就是nohupshell 脚本,它将执行复制,然后执行 rm。

相关内容