Можно ли открыть файл с помощью командной строки в OSX, а затем открыть другой, но только после того, как первое приложение завершит загрузку?

Можно ли открыть файл с помощью командной строки в OSX, а затем открыть другой, но только после того, как первое приложение завершит загрузку?

У меня есть настройка для живых выступлений с использованием Ableton и Reason. Обычно я открываю файл Ableton, жду, пока он загрузится, а затем открываю Reason. Причина в том, что Reason действует как подчиненный Ableton, поэтому Ableton должен закончить загрузку до того, как запустится Reason.

Я пробовал это (с одинарными и двойными амперсандом), но он хочет открыть их оба одновременно.

open "~/first_file.als" & open "~/second_file.rns"

Если это можно сделать с помощью AppleScript, я бы с радостью это сделал. Я использую Alfred для запуска команды.

Спасибо!

решение1

попробуйте дать вашей команде поспать несколько секунд (или столько времени, сколько потребуется ableton для загрузки)

то есть..

#!/bin/bash

open "~/first_file.als" 
sleep 10
open "~/second_file.rns"

решение2

Вы можете использовать AppleScript — его команды открытия блокируют скрипт до тех пор, пока приложение не завершит открытие файла.

osascript -e 'tell app "Live"
open POSIX file ((system attribute "HOME") & "/Audio/Template Project/Template.als")
end
tell app "Finder" -- open in the default application
open POSIX file "/Library/Desktop Pictures/Beach.jpg" as alias
end'

решение3

Этого можно добиться одной строкой.

open "~/first_file.als" ; sleep 5 ;  open "~/second_file.rns"

ПРИМЕЧАНИЕ: При необходимости отрегулируйте время сна.

К сожалению, сон действительно может быть необходим в зависимости от того, чего вы на самом деле хотите добиться.

Связанный контент