gurkensaas
gurkensaas

Reputation: 903

Multiple Applescript lines from terminal osascript call

So I'm trying to run multiple Applescript commands from the command line in one go. However, no matter how I try it, it won't work:

$ osascript -e "set x to 0; display dialog x"
$ osascript -e "set x to 0 \n display dialog x"
$ osascript -e "set x to 0 then display dialog x"

Is there a way to do this without saving to file?

Upvotes: 2

Views: 732

Answers (2)

Robert Kniazidis
Robert Kniazidis

Reputation: 1878

Your second attempt was very close to proper:

osascript -e "set x to 0 
PRESS ENTER
display dialog x"
PRESS ENTER

Upvotes: 0

user3439894
user3439894

Reputation: 7555

This works for me:

osascript -e "set x to 0" -e "display dialog x"

Have a look at the -e option in the manual page for osascript in Terminal: man osascript

−e statement
Enter one line of a script. If −e is given, osascript will not look for a filename in the argument list. Multiple −e options may be given to build up a multi-line script. Because most scripts use char- acters that are special to many shell programs (for example, AppleScript uses single and double quote marks, “(”, “)”, and “∗”), the statement will have to be correctly quoted and escaped to get it past the shell intact.

You can also do e.g.:

osascript <<END         
set x to 0       
display dialog x
END

Or:

osascript -e '          
set x to 0
display dialog x'

Upvotes: 2

Related Questions