osascript [-l language] [one or more files or standard input]
The osascript command attempts to execute the files that are passed to the command as arguments. If you do not use the -l switch and the arguments do not look like filenames, then osalang attempts to execute the text arguments as standard input, dynamically run as an AppleScript. Now where else can you generate an AppleScript like that?
By default, osascript runs the text files or standard input as an AppleScript, but if you use the -l switch, you can specify another OSA language for it to use. Like osacompile and osalang, you have to use the syntax /usr/bin/osascript to call this command. Figure 34-3 is a Terminal window in which the following command has been entered:
/usr/bin/osascript "return (65 * 87)"
The osascript command runs this code phrase just
as if you had entered the script into Script Editor, compiled it, and
run it. The expression
return (65 * 87) returns
the value 5655—the product of 65 and 87—to the Terminal
window as standard output.
You can pass more than one script as arguments to the osascript command. If they are valid AppleScript code, then each script will be run, but I have found that only the return value from the second script is returned to the Terminal window. Unless you have navigated ...