私はiTerm2用の簡単なスクリプトスクリプトを書いています。これはたくさんのタブを生成し、その中でサービスを実行し始めます(マイクロサービスがたくさんあり、ローカルでテストするためにはすべて実行する必要があります)。AppleScriptを強制的に同期して実行できますか?
ほとんどのものは機能していますが、私は、コマンドを早く送るAppleScriptに関連していると思います。
create tab with default profile
tell the current session
write text "cd services/myservice"
write text "make build-docker"
write text "make run-docker"
end tell
は理論的には、このチャンクが
1)新しいタブを作成しなければならない 2)新しいディレクトリ 3)ドッキングウィンドウの画像と 4)ファイル名を指定して実行を構築するに変更しますのは、具体的な例を見てみましょうそのドッカー画像。
これは時々動作しますが、より頻繁にはステップ4の問題にぶつかります。具体的には、「make build-docker」が最後に実行されたコマンドであることを確認するだけです。このコマンドは時間がかかりますので、ビルドの実行中は「run-dockerを作成」を送信して無視されます。 AppleScript/iTerm2にこのコマンドが完了して実行が正しく実行されるのを待たせる方法はありますか?
これは明らかです。読んでくれてありがとう!
ファンタスティック - 本当にありがとうございました! –
また、bashはデフォルトではエラーを無視しています。 cdコマンド/ myservice &&を使用してビルドドッカー&& etc && etc &&などを作成します。 "前のコマンドが成功した場合にのみ各シェルコマンドが実行されるようにします。あるいは、 '.sh'ファイルとして保存している場合は、' set -e'コマンドを先頭に追加して、コマンドが失敗した場合にスクリプトを中止するようにbashに指示します。 – has