有没有办法使用bash命令在单独的窗口中打开多个文件?

问题描述 投票:0回答:1

我想制作一个简单的bash脚本,它将在Mac上的4个独立桌面空间中打开4个不同的文本编辑器窗口。

我最接近的解决方案是通过在每个原子调用之间触发一个苹果脚本来转换桌面(atom是我正在使用的文本编辑器。)现在它看起来像这样

prepare() {
  osascript -e "tell application \"System Events\" to key code 18 using command down"
  atom spec
  osascript -e "tell application \"System Events\" to key code 19 using command down"
  atom db
  osascript -e "tell application \"System Events\" to key code 20 using command down"
  atom app
  osascript -e "tell application \"System Events\" to key code 21 using command down"
  atom app/assets
}

Apple脚本触发键盘单击(命令1,命令2等),我在设置中设置了该键盘以打开特定的桌面空间。

问题是原子在完成加载时打开时打开,而不是在它开始时打开。因此,每个原子窗口在随机空间中打开,这取决于加载所需的时间以及刚刚执行的bash命令的哪一行。

我怎样才能获得我需要的功能?开放的解决方案与我设置的方式完全不同。我只需要在4个不同的桌面空间中打开4个独立的原子窗口。不关心它是如何完成的。

bash applescript
1个回答
0
投票

您可以提供有关系统/环境的更多信息,因为并非所有命令或工具都是通用的。

我实际上不知道你的“桌面”究竟是什么意思。据我所知,您似乎希望您的4个编辑器在4个不同的“屏幕”上打开(您可以在MAC OS上手动切换,而不是在同一屏幕上划分4个位置)但是按指定的顺序。

在这一点上,我不知道atom是如何执行的。检查其手册可能会帮助您指定“桌面”;如果没有,您可以尝试检查atom调用的进程或甚至是在“加载”之后和“在屏幕上打开一个窗口”之前是否有可识别信号的存储器。

例如你可能会发现atom首先创建一个说“加载”的进程,然后是另一个说“开放”的进程。在这种情况下,您可以等到“加载”过程结束:

atom app & wait

如果不是这种情况,你可以简单地将sleep停留几秒钟,以便编辑器的“加载”步骤结束。但无论如何这都不可靠。

© www.soinside.com 2019 - 2024. All rights reserved.