【问题标题】:Is there a way to make multiple files open in separate windows with a bash command?有没有办法使用 bash 命令在单独的窗口中打开多个文件?
【发布时间】:2018-02-28 02:52:47
【问题描述】:

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

我最接近的解决方案是通过在每个 atom 调用之间触发一个苹果脚本来转换桌面(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 等)以打开特定桌面空间。

问题是 atom 在完成加载时打开,而不是在启动时打开。因此,每个 atom 窗口会根据加载所需的时间以及刚刚执行的 bash 命令的哪一行在随机空间中打开。

如何获得所需的功能?对与我设置的方式完全不同的解决方案持开放态度。我只需要一些东西来在 4 个不同的桌面空间中打开 4 个单独的原子窗口。别管它是怎么做的。

【问题讨论】:

    标签: bash applescript


    【解决方案1】:

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

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

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

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

    atom app & wait
    

    如果不是这样,您可以简单地sleep 几秒钟,足以让编辑器的“加载”步骤结束。但这无论如何都不可靠。

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 2015-12-23
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 2019-09-05
      • 2011-06-05
      相关资源
      最近更新 更多