Linux 有一个命令x-terminal-emulator
可以激活新的终端仿真器。我相信它可以与设置的默认仿真器配合使用。
- OS X 是否有类似的命令或者相同的命令?
- 所有 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 script
shell 脚本的路径:
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
按照其提示进行操作。