bashスクリプト内からAppleScriptを実行したい場合、実行する必要があるコマンドのリストを含むファイルを呼び出すことができます。
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
ただし、bash内から順番に実行する必要があるコマンドを実行する場合はどうなりますか?
例は
#!/bin/bash
echo
echo This will open Google Chrome in Kiosk mode
osascript -e "tell application \"Google Chrome\""
osascript -e "activate"
osascript -e "tell application \"System Events\""
osascript -e "key down {command}"
osascript -e "key down {shift}"
osascript -e "keystroke \"f\""
osascript -e "key up {shift}"
osascript -e "key up {command}"
osascript -e "end tell"
echo "Google Chrome is now open in Kiosk Mode"
私はこれが非常にフェッチされた例であることを知っていますが、私がやろうとしていることを説明するのに役立ちます。通常、これらのコマンドはすべて、それぞれのエスケープ\
文字なしですべての場所に記述され"
、各コマンドの周りには記述されません。また、それらを.scpt
ファイル内に入れます。
私が知っている解決策は、#!/usr/bin/osascript
bashの代わりにスクリプトを書き換えてそこから進むことですが、ブレンドできるようにしたいです。スクリプトファイルが存在する場合、スクリプトファイルを作成してテストし、必要な各コマンドをそのファイルに追加してから、bash内から必要なスクリプトファイルを実行できることを発見しましたが、これも目的に反します。
ファイルの途中で、使用されているシェルをshebang
行と交換し、必要なコマンドを実行した後に元に戻す方法はありませんか?
どんな洞察も歓迎です。
end tell
のスクリプトを見逃しました。