OSX でコマンド ラインを使用してファイルを開き、最初のアプリケーションの読み込みが完了した後にのみ別のファイルを開くことは可能ですか?

OSX でコマンド ラインを使用してファイルを開き、最初のアプリケーションの読み込みが完了した後にのみ別のファイルを開くことは可能ですか?

私は、Ableton と Reason を使用してライブ ショーのセットアップを行っています。通常は、Ableton ファイルを開き、読み込まれるまで待ってから Reason を開きます。その理由は、Reason が Ableton のスレーブとして機能するため、Reason が起動する前に Ableton の読み込みが完了する必要があるためです。

私はこれを(シングルおよびダブルのアンパサンドを使用して)試しましたが、両方を同時に開こうとします。

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 を使用することもできます。AppleScript の open コマンドは、アプリケーションがファイルのオープンを完了するまでスクリプトをブロックします。

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

これを 1 行で実現できます。

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

注意: 必要に応じてスリープ時間を調整してください。

残念ながら、本当に達成したいことに応じて、睡眠が実際に必要になる場合があります。

関連情報