12

I have some apple script code:

tell application "System Events"
    key code 97
end tell

How do i write the code as a osascript -e command in Terminal? Everytime I try using \n or the such, I get errors. Sorry if I'm not being specific enough.

3 Answers 3

30

You have a couple of options:

  1. Pass each line of the AppleScript code as a separate -e option:

    osascript -e 'tell application "System Events"' -e 'key code 97' -e 'end tell'
    
  2. Pipe the AppleScript code to osascript's STDIN:

    osascript <<END
      tell application "System Events"
        key code 97
      end tell
    END
    

Oh, and you can also save AppleScript code as an executable shell script. Just add #!/usr/bin/osascript at the top of the code and save it as a plain text file:

#!/usr/bin/osascript

tell application "System Events"
  key code 97
end tell
Sign up to request clarification or add additional context in comments.

Comments

2

Actually -e option accepts new lines:

osascript -e '
tell application "System Events"
    key code 97
end tell'

Comments

1

Other example:

  open -a Terminal && \
     sleep 2 && \
     osascript -e 'activate application "Terminal"' -e 'tell application "System Events" to keystroke "q" using command down'

the first two lines are just to show the final goal, which is focus the Terminal window and quit it, sending Command+q

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.