我怎么能同时执行多个命令呢? (OS = sun solaris)

我怎么能同时执行多个命令呢? (OS = sun solaris

很高兴看到你愿意学习shell,正如我在前面提出的另一个问题。 🙂

把命令放在后台,让它在那里执行:

yourcommand & 

切换回该进程(如果只有一个后台进程开始):

 fg 

列出所有后台进程:

 jobs -l 

如果你只是想运行一个命令,然后另一个,然后另一个….

 yourcommand && yourothercommand && youryetanothercommand 

只有前面的命令没有错误成功,上面的例子才会继续执行下一个命令。 如果你不介意以前的命令是否成功,你可以这样做

 yourcommand; yourothercommand; youryetanothercommand 

另外,命令screen将成为你新的最好的朋友。 它允许你在自己​​的“屏幕”上启动一个进程,你可以稍后拆卸和重新连接,例如,你可以从你公司的台式计算机连接到服务器,启动一个屏幕并让一个长时间运行的命令运行在那里,分离会话,走到公司的笔记本电脑,用那个连接到那个服务器,重新连接会话,看看发生了什么。

无论如何,这一切都是我不应该向你解释的基本知识。 去阅读教程开始吧! 只要谷歌bash教程 ,如果你的shell是bash。 你似乎正在使用Solaris,所以你的shell可能是csh ,在这种情况下谷歌csh教程 。 他们是相似的,但有些区别适用于环境variables的东西。

你并不是想要一次执行两个命令,而是希望在第一个命令的输出上运行第二个命令。 SvenW提到了已经find的-exec参数,但另一种方法是使用xargs,它允许你使用pipe道命令的输出作为另一个命令的参数。

假设您想查找每个名为foo的目录,并查看该目录中任何文件的权限:

find / -type d -name'foo'-print0 | xargs -0 ls -la

(如果需要,请参阅find和xargs的手册页以使用-print0和-0。)

请解释你想做什么,因为有这么多的方法来做到这一点。

  • 你可以像命令1一样链接命令command1; command2 command1; command2
  • 你可以使用&like command &
  • 您可以使用屏幕(强烈推荐使用man screen )让多个虚拟控制台同时运行,即使断开连接后也是如此。
  • 你可以编写shell脚本
  • etc.etc。

阅读任何Linux / Unix初学者指南,这将详细解释。

另外,这不是学习基础知识的初学者论坛。 你问的问题types更适合姊妹网站superuser.com 。