Bash 用于循环输出命名的nohup

Bash 用于循环输出命名的nohup,bash,nohup,Bash,Nohup,我使用for循环将特定工具用于文件集: nohup sh -c 'for i in ~/files/*txt; do ID=`echo ${i} | sed 's/^.*\///'`; ./tool $i && mv output ${ID}.out; done' & 这个工具对输出的文件有特定的命名,我想重命名输出,因为它会被覆盖,对我来说更简单。 但是,此特定的mv不适用于nohup-文件不会单独重命名并被覆盖 我怎样才能解决这个问题。为什么复杂的nohup会跳舞,

我使用
for
循环将特定工具用于文件集:

nohup sh -c 'for i in ~/files/*txt; do ID=`echo ${i} | sed 's/^.*\///'`; ./tool $i &&
mv output ${ID}.out; done' &
这个工具对输出的文件有特定的命名,我想重命名输出,因为它会被覆盖,对我来说更简单。
但是,此特定的
mv
不适用于
nohup
-文件不会单独重命名并被覆盖


我怎样才能解决这个问题。

为什么复杂的
nohup
会跳舞,而不仅仅是跳舞

for i in ~/files/*.txt; do
    ./tool $i && mv output `basename $i`.out
done

当我退出时,我需要
nohup
&
在服务器上运行它。您尝试过
屏幕
?通常情况下,它的脆弱性要比尝试
nohup
的东西小得多。为什么同时
nohup
&