“x-terminal-emulator” 在 OS X 上运行吗?

“x-terminal-emulator” 在 OS X 上运行吗?

Linux 有一个命令x-terminal-emulator可以激活新的终端仿真器。我相信它可以与设置的默认仿真器配合使用。

  1. OS X 是否有类似的命令或者相同的命令?
  2. 所有 Mac OS X 版本都有此选项吗?

我的目的是让 bash 脚本在新终端窗口中启动一个新的 bash 脚本。

我现在没有 Mac 来测试这个。

答案1

在 OS X 中不x-terminal-emulator存在。它依赖于替代系统,但在 OS X 上却无法这样工作。相反,它为某些 MIME 类型、URI 方案或文件类型定义了默认应用程序。简而言之,就是这样。

从 shell 内部启动新的 Terminal.app 窗口的最简单、最便携的方法是运行以下 AppleScript 命令:

osascript -e 'tell app "Terminal" to do script ""'

如果您还需要关注这个新的终端窗口,请运行:

osascript -e 'tell app "Terminal" to activate'

要从该窗口内运行 shell 脚本,只需提供do scriptshell 脚本的路径:

osascript -e 'tell app "Terminal" to do script "/path/to/script.sh"'

再次,如果您之后需要焦点,请运行activate上面的第二个命令。


OS X 的一些用户可能iTerm2安装它来替代 OS X 附带的默认 Terminal.app。虽然它没有注册为“默认”终端(一般来说,OS X 中没有“默认终端”的概念),但有些用户可能会选择将其用于某些 URL 方案。请参阅:将 iTerm2 设置为默认终端(OSX Lion)

否则,用户无法通过“偏好”设置选择 iTerm2 而不是 Terminal.app。如果您想使用 iTerm2 而不是 Terminal.app,可以查看以下答案。iTerm2 不接受do shell script并要求您write text按照其提示进行操作。

相关内容