小编adr*_*TNT的帖子

在分离的屏幕中运行两个命令

我正在尝试下载一个文件,wget但在后台和分离的屏幕内...

我最初的命令是:

wget http://www.example.com/file.zip -O temp/file.zip; mv temp/file.zip downloads/file.zip;
Run Code Online (Sandbox Code Playgroud)

一旦下载,这将很好地移动文件,防止我在downloads/文件仍在后台下载时处理文件。

现在我需要在带有屏幕的 backgorund 中运行它,所以我运行并分离它:

screen -dm wget http://www.example.com/file.zip -O temp/file.zip;
Run Code Online (Sandbox Code Playgroud)

但是我怎么能仍然传递移动命令并在第一个完成时运行呢?

编辑:我尝试引用基于 DopeGhoti 的回答:

 screen -dm 'wget http://mirror.leaseweb.com/speedtest/100mb.bin -O 1.bin; mv 1.bin 2.bin'
 cannot identify account 'wget http:'.
Run Code Online (Sandbox Code Playgroud)

和这个:

 screen 'wget http://mirror.leaseweb.com/speedtest/100mb.bin -O 1.bin; mv 1.bin 2.bin'
 cannot exec 'wget http://mirror[...] no such file or directory
Run Code Online (Sandbox Code Playgroud)

编辑:我尝试使用完整/usr/bin/wget/usr/bin/mv路径,它抱怨缺少会话名称,我用 给了它会话名称-S foo,现在它静默退出,没有这样的屏幕可以恢复,也没有下载文件:

screen -dm -S foo '/usr/bin/wget http://mirror.leaseweb.com/speedtest/100mb.bin -O 1.bin; /usr/bin/mv 1.bin …
Run Code Online (Sandbox Code Playgroud)

shell gnu-screen wget

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

gnu-screen ×1

shell ×1

wget ×1