如何从另一个控制台中的另一个脚本运行 bash 脚本?

Mus*_*pUp 3 bash

我在 Windows 10 上使用 Ubuntu。

我的脚本 (SendTrends.sh) 一直运行,但有时我需要运行另一个脚本 (Historical+.sh),而不停止 SendTrends.sh。对我来说最好的选择是 Historical+.sh 将在另一个控制台中弹出,并在其工作后关闭该控制台。但如果它能正常工作,我会对单个控制台中的解决方案感到满意。我怎样才能做到这一点?

感谢您的任何帮助。

小智 5

有多种方法可以做到这一点,让我向您介绍一些


&shell的控制操作符

&您可以在命令末尾 使用 shell 的控制运算符:./Historical+.sh &将在后台启动您的脚本,让您当前的控制台可以自由使用。

您可以在此处查看有关 shell 控制运算符的更多信息。


运行新的 bash

有两种方法可以做到这一点,一种是在执行结束时自动关闭控制台,另一种保持 bash 打开。两者都在这篇文章中找到(第一个在问题中,第二个在接受的答案中)

  • 使用bash -lic "command"应该允许您启动一个新的 bash,执行其中的命令,然后关闭创建的 bash。

  • bash --rcfile <(echo '. ~/.bashrc; your_command')是保持控制台打开的方法


如果您只需要运行命令并立即关闭控制台而不使用它,也许使用 shell 的控制运算符的解决方案更适合您的情况。否则,您可以考虑使用其他两个选项之一。