linux – nohup多个顺序命令

linux – nohup多个顺序命令,第1张

概述我需要一个接一个地发出两个命令.第二个命令必须在第一个命令之后执行.以下是命令: tar -zcf archive.tar.gz.tmp mydirmv archive.tar.gz.tmp archive.tar.gz 我需要在后台运行命令,但显然不能同时运行.第一个命令完成后,必须运行第二个命令.我试过这个: nohup tar -zcf archive.tar.gz.tmp mydir ; 我需要一个接一个地发出两个命令.第二个命令必须在第一个命令之后执行.以下是命令:
tar -zcf archive.tar.gz.tmp mydirmv archive.tar.gz.tmp archive.tar.gz

我需要在后台运行命令,但显然不能同时运行.第一个命令完成后,必须运行第二个命令.我试过这个:

nohup tar -zcf archive.tar.gz.tmp mydir ; mv archive.tar.gz.tmp archive.tar.gz > /dev/null 2>&1 &

但命令不在后台运行. bash提示会等到两个命令完成后才给我另一个提示.我需要它们在后台运行.

如果我做:

nohup tar -zcf archive.tar.gz.tmp mydir > /dev/null 2>&1 &

这完全在后台运行.只有当我尝试做多个命令时才会这样.

我也尝试过:

nohup tar -zcf archive.tar.gz.tmp mydir > /dev/null 2>&1 & ; mv archive.tar.gz.tmp archive.tar.gz > /dev/null 2>&1 &

但这也不起作用.语法或其他内容无效.我确定有办法做到这一点,但我只是不确定语法.

我能想到的唯一选择是将命令放入.sh文件和nohup那个文件,但这不一定是我在linux系统上可以做的事情我必须实现这个(特权限制等).

解决方法 最简单的解决方案:使用创建shell脚本
#/bin/sh tar -zcf archive.tar.gz.tmp mydir mv archive.tar.gz.tmp archive.tar.gz

并使用nohup myscript.可能还有一些脚本中的额外文档.

(是的,我是文档的傻瓜.特别是当与多个人合作或者有一天你可能会离职时,你的继任者需要找出原因“.)

另一种方法是为子任务启动一个新的shell(在这种情况下你的tar和move)

nohup` $(tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz)

备选方案2:

nohup“`tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz“`.

我真的很喜欢这个剧本.当你或其他人在几年内查看脚本并且想知道为什么这样做时,它中的注释可能非常有用.

在一个不相关的说明:我怎么发布一个带有反引号的anser? (shell命令’使用此命令;将输出作为输入提供给另一个命令’).

总结

以上是内存溢出为你收集整理的linux – nohup多个顺序命令全部内容,希望文章能够帮你解决linux – nohup多个顺序命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1040832.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存