打开应用程序后有没有一种方法可以回到命令行界面?

3

我希望能够在命令行中打开一个应用程序,但不想切换到该应用程序,而是想留在我的终端仿真器上。有没有办法实现这一点?我使用的是OS X操作系统。

3个回答

2
使用open命令的-g标志,可避免将应用程序置于前台。
$ open -g /Applications/TextEdit.app
$

open命令将启动应用程序,然后返回到命令提示符。


1
@MarkSetchell 非常感谢。谁知道手册页可以这么有用 :) - trojanfoe
非常感谢!你是救命恩人。 - Leeren
@trojanfoe 我们都“知道”它们可以很有用 - 只是要记得阅读这些东西 - 当我们“认为”我们知道命令的作用时 :) - Mark Setchell
作为后续,是否有办法使用bash脚本做类似的事情?我有一个脚本,使用vmboxmanager打开VirtualBox会话,因为直接打开VirtualBox应用程序无法让我进入虚拟机(该应用程序首先带我进入虚拟机管理器)。 - Leeren
在调用任何不会自行终止的命令时,您需要使用 &。您不需要在 open 中使用 & 的原因是我相信它将工作交给了 launchctl(和其他类似的工具),从而允许其在应用程序继续运行的同时终止。至于VirtualBox,我不确定它是如何工作的。 - trojanfoe

0

您可以将作业放到后台运行。在Bash shell中,可以使用&来实现。例如:

some_script_or_application &

请注意,一些守护进程和进程会在后台运行。例如,在OS X上运行open some.pdf将在GUI中预览PDF,并立即返回命令提示符,无需进行任何特殊操作。
有关后台作业的更多信息,请参阅GNU Bash手册中的作业控制部分。

如果你这样做,你仍然会失去输入焦点... 你会注意到你的提示变成了空心。 - Mark Setchell
@MarkSetchell 这是窗口管理器的一个缺陷,与 shell 或一般的后台作业无关。 - Todd A. Jacobs
可能可以,但是在后台启动作业并不能满足OP的要求,他需要“留在终端模拟器中”。 - Mark Setchell

0

在你运行程序后,按下ctrl+z并输入bg。你将返回你的终端CLI。

无论何时你想回到你的程序,只需输入fg


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接